
우리는 X509 인증서를 사용하여 OpenSSH와의 연결을 테스트하고 싶습니다.Roumen Petrov의 pkixssh 포크.
전체 인증이 어떻게 작동하는지, 특히 공개 키 인증서 유효성 검사를 위해 X509 표준을 사용하여 인증서를 만드는 방법을 실제로 이해하지 못합니다.
따라서 먼저 내가 어떻게 이해하는지, 그리고 두 요소 사이의 연결을 테스트하기 위해 따라야 할 전체 프로세스를 설명하겠습니다."고객"그리고"섬기는 사람"X509 인증서를 사용하는 OpenSSH의 PKIXSSH 포크가 있는 머신입니다. 테스트를 위해 우리는 세 번째 머신을 사용할 것입니다."제어 기계", "인증 기관" 역할을 할 머신
작동 방식을 이해하기 위해 다음 문서를 읽었습니다.
- "SSH를 통한 확장 가능하고 안전한 액세스", Facebook에서: 공개 키 검증에서 인증 기관의 역할이 무엇인지 이해하는 데 매우 유용합니다.
- "SSH 및 X509 인증서 사용 방법", Gentoo 토론 포럼에서: 정말 훌륭하고 필요한 Howto
- "인증서 x509는 SSH를 따른다", "Linux Attitude" 블로그의 게시물: 또 다른 하우투, 이것은 프랑스어로 되어 있습니다.
간단히 요약하면, 제가 올바르게 이해했다면 작동 방식은 다음과 같습니다.
- X509는 공개 키에 서명하는 표준입니다. 인증 기관이 알려진 경우 서명된 공개 키는 유효한 것으로 간주됩니다.
- 호스트와 사용자의 공개 키에 서명할 수 있습니다.
- X509 인증서를 사용하면 비밀번호나 기존 OpenSSH 개인-공개 키 인증을 사용하지 않고도 OpenSSH 서버에 로그인할 수 있습니다. 이는 다음을 의미합니다.사용자 ublic 키를 대상 서버에 복사하면 안 됩니다..
- 호스트에 X509 인증서를 사용하면 클라이언트는 Known_host 파일에 공개 키를 수동으로 추가할 필요 없이 OpenSSH 서버를 신뢰합니다.
우리는 두 가지 테스트를 하고 싶습니다:
- X509 인증서를 사용하여 클라이언트 시스템에서 서버로의 사용자 연결을 테스트합니다.
- 두 번째 단계에서는 서버 호스트에 대한 인증을 추가합니다.
나는 다음 단계를 따라야 한다는 결론에 도달했습니다.
"제어" 기계에서:
- 테스트 인증 기관에 대한 키 구성 및 생성
- CA가 인식되도록 공개 인증 기관 키를 "서버" 시스템의 OpenSSH 데몬으로 보냅니다.
"클라이언트" 머신에서:
- 사용자의 개인 키와 공개 키를 생성합니다.
- CA가 서명할 공개 키를 제어 시스템으로 보냅니다.
- 서버에 표시되도록 개인 키 파일에 인증서를 추가합니다.
이 시점에서는 모든 것이 제자리에 있어야 연결을 테스트할 수 있습니다.
내가 제대로 이해한 걸까?
답변1
마침내 나는 연결을 이해하고 테스트했습니다 :-).
나는 방금 배포한 블로그에 게시물을 작성했습니다(빠르고 지저분한 방식으로 블로그는 간단하고 그다지 예쁘지는 않지만 유용합니다).
기사에서 테스트에 대한 전체 설명을 읽을 수 있습니다."X509 인증서를 사용하는 OpenSSH 방법"
제품 메일링 리스트에 있는 내 이메일에 대한 답변을 주신 Roumen Petrov에게 많은 감사를 드립니다.