개인 키 암호를 어떻게 변경합니까?


283

기존 공개 / 개인 키 쌍이 있습니다. 개인 키는 암호로 보호되며 암호화는 RSA 또는 DSA 일 수 있습니다. 이 키는 생성 ssh-keygen하고 일반적으로 아래에 저장 하는 종류 ~/.ssh입니다.

개인 키의 비밀번호를 변경하고 싶습니다. 표준 유닉스 쉘에서 어떻게해야합니까?

또한 비밀번호를 어떻게 간단하게 제거합니까? 그냥 비워놓 으세요?

답변:


371

기본 DSA 키에서 비밀번호 문구를 변경하려면 다음을 수행하십시오.

$ ssh-keygen -p -f ~/.ssh/id_dsa

그런 다음 프롬프트에서 기존 암호와 새 암호 (2 회)를 제공하십시오. ~/.ssh/id_rsaRSA 키가있는 경우 사용하십시오 .

더 자세한 정보 man ssh-keygen:

[...]
SYNOPSIS
    ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment]
               [-f output_keyfile]
    ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
[...]
     -f filename
             Specifies the filename of the key file.
[...]
     -N new_passphrase
             Provides the new passphrase.

     -P passphrase
             Provides the (old) passphrase.

     -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.
[...]

1
이것은 Gentoo Linux에서 net-misc / openssh-5.2_p1-r2와 함께 제공되는 매뉴얼 페이지에 있습니다.
Mike Mazur

12
또한, 미래의 게으른 사람을 위해, 나는 빠른 순서를 먼저, 맨 페이지 뒤에 순서를 뒤집을 것입니다.
kch

2
암호를 변경할 수있는 곳과 답을 찾을 수있는 곳을 모두 보여주기 때문에 대답이 훌륭하다고 생각합니다. 많은 사람들이 ssh 키를 설정하도록 도왔으며 실제로 사용했던 도구를 기억하는 것이 항상 쉬운 것은 아닙니다. 게다가, 'net에서 답을 찾는 것이 많은 사람들에게 첫 번째 옵션입니다 ...
sastorsl

5
당신의 기계> = 6.5에서 OpenSSH를 사용하는 경우, 당신은 사용해야합니다 -o옵션을 (기본적으로 KDF로 bcrypt) 새로운 개인 키 형식을 활성화합니다. 이전 OpenSSH 버전에서는 보다 안전한 개인 키 파일을 위해 PKCS # 8을 사용하십시오 .
Quinn Comendant

2
@FranciscoLuz 내 대답의 명령은 DSA 키와 관련이 있습니다. RSA 키가 있으면 명령이 올바른 것입니다. 이 문제를 해결하기 위해 답변에 흐림을 추가했습니다.
Mike Mazur 2016 년

-9

SSH 공개 / 개인 키를 제거하십시오.

rm ~/.ssh/id_rsa*

새로운 암호를 선택하여 키 페어를 다시 만듭니다.

ssh-keygen -t rsa -f ~/.ssh/id_rsa

새로 만든 개인 키를 OS X 키 체인에 추가하여 암호를 저장하고 자동으로 잠금 해제를 관리하십시오.

ssh-add -K ~/.ssh/id_rsa

공개 키를 OS X 클립 보드에 복사하여 GitHub 등과 같은 웹 서비스에 추가하십시오.

cat ~/.ssh/id_rsa.pub | pbcopy

새로 만든 공개 키를 ~/.ssh/authorized_keys원격 서버 파일에 추가하십시오 . 원격 ~/.ssh폴더 (700) 및 ~/.ssh/authorized_keys(600) 의 올바른 권한을 확인하십시오 . ssh-copy-id이 과정을 쉽게 하기 위해를 사용하여 조사 할 수 있습니다 .


3
포스터는 키의 암호를 바꾸는 방법을 묻지 않고 버리지 않고 새 암호를 생성했습니다. 그리고 그들은 OS X를 언급하지 않았습니다.
musicinmybrain

2
이 세 가지 문제가 아닌 경우이 답변을 찬성했습니다. 1. 업데이트 할 때 키가 필요하므로 이전 키를 삭제하는 것은 좋은 시작이 아닙니다 authorized_keys. 2. 이전의 암호를 변경하는 것보다 새 키를 만드는 것이 왜 더 좋은지 언급하지 않았습니다. 3. 질문에 의해 지원되지 않는 OS에 대한 가정을합니다.
kasperd
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.