비밀번호없이 생성 된 OpenSSH 개인 키에 비밀번호를 추가하려면 어떻게합니까?


213

puttygen을 사용하여 OpenSSH 개인 키를 생성하고 OpenSSH 형식으로 내보냈습니다. 이 기존 키에 비밀번호를 입력하려면 어떻게해야합니까 (비밀번호로 새 키를 생성하는 방법을 알고 있습니까)?


13
이 의견이 보이면 답변 중 하나를 수락 한 것으로 표시하거나 누락 된 내용에 대한 의견을 작성하십시오. 감사!
Benjamin Atkin


당신이 얻을 경우 Bad passphraseid_ed25519키하지만 암호가 올바른지, 그때는 아마 하위 수준을 사용하는 것은 ssh-keygen그것을 관리 할 수 있습니다.
jww

답변:


350

명령을 시도 ssh-keygen -p -f keyfile

ssh-keygen 매뉴얼 페이지에서

 -p      Requests changing the passphrase of a private key file instead of
         creating a new private key.  The program will prompt for the file
         containing the private key, for the old passphrase, and twice for
         the new passphrase.

 -f filename
         Specifies the filename of the key file.

예:

ssh-keygen -p -f ~/.ssh/id_rsa

5
-f가 무엇인지 알고 자하는 경우 : 입력 파일을 지정합니다.
Neikos

4
//, @sigjuice,?와 같은 예제를 게시 $ ssh-keygen -p -f /Users/sigjuice/.ssh/id_rsa하시겠습니까? 이것은 공개 키와 개인 키의 차이점을 구별하는 방법을 모르는 사람들이 발을 더 ​​빨리 젖게하는 데 도움이 될 수 있습니다.
Nathan Basanese

어떤 이유로 MacOS 10.14에서는 Proc-Type: 4,ENCRYPTED헤더를 사용하여 파일을 포맷하지 않으므로 암호를 확인하는 일부 응용 프로그램과 호환되지 않습니다. 여러 가지 방법으로 문제를 해결 한 후 가장 쉬운 방법은 Ubuntu를 실행하는 Docker 컨테이너 내에서 동일한 작업을 수행 한 다음 키를 다시 내 Mac에 복사하는 것입니다.
ryanbrainard

38

ssh-keygen에 -p 옵션을 사용하십시오. 이를 통해 새 키를 생성하지 않고 비밀번호를 변경할 수 있습니다.

sigjuice가 표시하는대로 비밀번호를 변경하십시오.

ssh-keygen -p -f ~/.ssh/id_rsa

필요한 비밀번호는 새 비밀번호입니다. ( ~/.ssh/id_rsa.pubauthorized_keys 파일에 공개 키 를 추가했다고 가정 합니다.) ssh로 테스트하십시오.

ssh -i ~/.ssh/id_rsa localhost

용도에 따라 이름이 다른 여러 개의 키를 가질 수 있습니다.


//, 예제를 보여 주시겠습니까? 그리고 옵션이 작동하는지 확인하는 방법은 @BillThor?
Nathan Basanese

난 이해가 안 돼요. 암호가 설정되었습니다. 다시 변경하려고 할 때 나타납니다. 그러나 원격 서버에 로그인하려고 할 때이 암호 암호를 묻지 않습니다. 왜 그렇습니까?
Luka

1
괜찮아. 그것은 세션 당 한 번 묻습니다 :) 몰랐습니다.
Luka

이것은 로그 아웃했다가 다시 로그인해야한다는 것을 의미합니까? 터미널 창을 닫고 다시 열면 작동하지 않습니다.
Simon H

입력 ssh-add -D하여 캐시 된 ID를 제거 할 수 있습니다 . 그런 다음 다시 연결하면 암호를 묻습니다. ssh-add -l캐시 된 ID 목록을 보는 데 사용 하십시오.
Scott Nedderman

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.