AWS에서 인스턴스를 생성할 때 AWS가 인스턴스에 대한 프라이빗 키 파일을 생성한 다음 이 프라이빗 키 파일을 로컬 시스템에 다운로드한 다음 ssh -i <this_private_key> user@aws-ip를 통해 연결하는 것을 확인했습니다. 인스턴스 주소.
다른 클라우드의 다른 Linux 서버에서 이 인증 체계를 사용해 보았습니다. ~/.ssh/id_rsa에서 개인 키를 복사하여 저장한 다음 개인 키를 복사한 하나의 우분투 서버에서 연결을 시도했지만 연결이 거부되었습니다. 기계. 일반적으로 원격 서버의authorized_keys 파일에 대한 SSH 키 쌍 PUBLIC 키를 생성해야 한다는 것을 알고 있으며 항상 이 방법을 사용하지만 AWS 시나리오와 작동 방식에 관심이 있습니다. 원격 시스템의 개인 키를 사용하여 AWS에서처럼 다른 클라우드의 원격 서버나 내 PC에 있는 가상 머신에 연결할 수 있나요?
답변1
SSH 인증서 인증(PKI)은 개인 키(개인)와 공개 키(비밀로 유지할 필요가 없음)를 사용합니다. PKI 연결을 설정하면 개인 키가 클라이언트에 안전하게 저장되고 해당 공개 키가 서버에 배치됩니다. 여러 개의 공개/개인 키 쌍이 있고 ssh
어느 것을 사용할지 알려줄 수 있습니다(명령줄 ssh -i {identity_file}
이나 각 호스트 블록의 구성 파일에서).
편의상 AWS에서는 새 인스턴스에 로그인하기 위한 퍼블릭/프라이빗 키를 생성할 수 있습니다. 보안 연결을 통해 개인 키를 다운로드하고 로컬에 저장합니다. 이미 공개 키가 있으므로 이제부터 개인 키 사본과 공개 키 사본을 조합하면 인증된 연결 시도가 가능해집니다.
명령을 실행할 때 ssh -i {private_key} {remote_host}…
실제로 발생하는 일은 ssh
명령이 연결을 설정하기 위한 협상의 일부로 이 개인 키를 사용한다는 것입니다. 공개 키를 다른 대상에 복사하지 않는 한 다른 어떤 것도 공개 키를 가질 수 없습니다.
원하는 수의 원격 컴퓨터에 동일한 공개 키를 배치할 수 있습니다. 그러면 프라이빗 키 인스턴스가 이러한 원격 컴퓨터에 대한 액세스를 확인할 수 있습니다.
개인 키를 다른 서버에 복사하여 공유해서는 안 됩니다. 대신 가능하다면 클라이언트로 처리하려는 각 위치(즉, SSH 연결을 시작하는 위치)에 대해 별도의 공개/개인 키 조합을 생성하고 새로 생성된 공개 키를 적절한 대상 서버에 복사해야 합니다.
마지막으로 당신은 이렇게 묻습니다. "다른 클라우드의 원격 서버나 AWS와 같은 내 PC에 있는 가상 머신에 연결할 수 있나요? 원격 머신의 개인 키만 사용하면 되나요?"개인 키 중 하나에 해당하는 공개 키가 있는 원격 서버에만 연결할 수 있습니다.