답변:
서버 결함에 대한 답변을 찾았습니다 : 개인 키에서 공개 SSH 키를 작성 하시겠습니까?
이 옵션 -y
은 공개 키를 출력합니다.
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
부수적으로, 공개 키의 주석은 유실됩니다. 주석이 필요한 사이트가 있었으므로 (Launchpad?) ~/.ssh/id_rsa.pub
주석과 키 데이터 사이에 공백이있는 첫 줄에 주석을 편집 하고 추가 해야합니다 . 공개 키의 예는 아래에서 잘립니다.
ssh-rsa AAAA..../VqDjtS5 ubuntu@ubuntu
SSH 에이전트에 추가 된 키 (백그라운드에서 실행되고 키 파일 암호문을 반복해서 다시 입력 할 필요가없는 프로그램)의 경우이 ssh-add -L
명령을 사용하여 추가 된 키의 공개 키를 나열 할 수 있습니다. 에이전트를 통해 (를 통해 ssh-add -l
). SSH 키가 스마트 카드에 저장되어 있고 개인 키 파일에 액세스 할 수없는 경우에 유용합니다.
~/.ssh/id_rsa
은 사용자 이름으로 제한되어야합니다. $ sudo chmod 600 ~/.ssh/id_rsa
루트 자격 증명을 사용 하고 입력하여 제한하면 공개 키 파일을 출력 할 수 있습니다. 그렇지 않으면 개인 키 파일 무제한 경고가 표시됩니다.
sudo
. 이미 개인 키를 소유하고 있어야합니다. 그렇지 않으면 처음부터 읽을 수 없습니다.
400
필요는 개인 키 파일을 입력 쓸하기 때문에 좋습니다. 수정 된 명령은 다음과 같습니다$ chmod 400 ~/.ssh/id_rsa
id_rsa
파일)에는 주석이 없지만 실제로 공개 키 파일 ( id_rsa.pub
) 내의 주석은 손실됩니다.
이 솔루션은 특히 Amazon AWS 및 GCE의 클라우드 이미지를 포함하여 Windows를 사용하여 원격 시스템에 SSH하는 사용자를위한 솔루션입니다.
최근에이 솔루션을 사용하여 GCE에서 새로 배포 된 VM 이미지에 원격으로 로그인했습니다.
키 / 페어를 생성하거나 기존 개인 키를 사용하십시오.
개인 키가있는 경우 :
puttygen을 열고로드 버튼을 누른 다음 개인 키 (* .pem) 파일을 선택하십시오.
개인 키 가 없는 경우 :
새로운 'authorized_keys'파일을 작성하십시오 (메모장 포함).
PuTTY 키 생성기의 "OpenSSH certified_keys 파일에 붙여 넣기위한 공개 키"섹션에서 공개 키 데이터를 복사하고 키 데이터를 "authorized_keys"파일에 붙여 넣으십시오.
이 파일에는 한 줄의 텍스트 만 있어야합니다.
Linux 서버에 키를 업로드하십시오.
certified_keys 파일을 원격 시스템의 홈 디렉토리에 업로드하십시오.
적절한 권한을 설정하십시오.
메이크업 .ssh
(존재하지 않는 경우) 디렉토리를
authorized_keys
파일을 .ssh 디렉토리에 복사하십시오 (기존 authorized_keys
파일 을 대체합니다 ).
파일이 존재하면이 파일의 내용을 기존 파일에 추가하십시오.
권한을 설정하는 명령을 실행하십시오.
sudo chmod 700 .ssh && chmod 600 .ssh/authorized_keys
이제 매번 자격 증명을 입력하지 않고도 원격 컴퓨터로 ssh 할 수 있습니다.
pbcopy > ~/.ssh/id_rsa.pub
죄송합니다.