etc./StackOverFlow

새 키를 만들지 않고 SSH 키의 암호를 어떻게 제거합니까?

청렴결백한 만능 재주꾼 2023. 4. 26. 12:46
반응형

질문자 :Community Wiki


랩톱에서 새 SSH 키를 만들 때 암호를 설정했습니다. 그러나 지금 깨닫는 것처럼 한 시간에 여러 번 SSH를 통해 원격 위치 에 커밋( GitSVN )하려고 할 때 이것은 매우 고통스럽습니다.

내가 생각할 수 있는 한 가지 방법은 SSH 키를 삭제하고 새로 만드는 것입니다. 동일한 키를 유지하면서 암호를 제거하는 방법이 있습니까?



짧은 답변:

 $ ssh-keygen -p

그러면 키 파일 위치, 이전 암호 및 새 암호(암호가 없는 경우 비워 둘 수 있음)를 입력하라는 메시지가 표시됩니다.


프롬프트 없이 한 줄로 모든 작업을 수행하려면 다음을 수행하십시오.

 $ ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]

중요: 명령을 실행할 때 일반적으로 제공된 모든 인수(예: 이 경우 암호)를 포함하는 일반 텍스트로 ~/.bash_history 따라서 특별한 이유가 없는 한 첫 번째 옵션을 사용하는 것이 좋습니다.

-P 또는 -N 을 지정하지 않고도 -f keyfile 을 사용할 수 있으며 키 파일의 기본값은 ~/.ssh/id_rsa 이므로 많은 경우에 필요하지도 않습니다.

잠시 동안 암호를 캐시할 수 있는 ssh-agent 사용을 고려할 수 있습니다. 최신 버전의 gpg-agent는 ssh-agent에서 사용하는 프로토콜도 지원합니다.


Torsten Marek

$ ssh-keygen -p 가 나를 위해 일했습니다.

git bash를 열었습니다. 붙여넣기: $ ssh-keygen -p

기본 위치에 대해 Enter 키를 누릅니다.

이전 암호를 입력하세요.

새 암호 입력 - 공백

새 암호 확인 - 공백

BOOM git push에 대한 암호를 입력하는 고통이 사라졌습니다.

감사 해요!


Community Wiki

로그인 시 ssh-agent를 시작하는 .bash_profile(또는 이와 동등한 것)에 다음을 추가할 수 있습니다.

 if [ -f ~/.agent.env ] ; then . ~/.agent.env > /dev/null if ! kill -0 $SSH_AGENT_PID > /dev/null 2>&1; then echo "Stale agent file found. Spawning new agent… " eval `ssh-agent | tee ~/.agent.env` ssh-add fi else echo "Starting ssh-agent" eval `ssh-agent | tee ~/.agent.env` ssh-add fi

일부 Linux 배포판(Ubuntu, Debian)에서는 다음을 사용할 수 있습니다.

 ssh-copy-id -i ~/.ssh/id_dsa.pub username@host

생성된 ID를 원격 시스템에 복사하고 원격 키체인에 추가합니다.

여기여기 에서 더 많은 것을 읽을 수 있습니다 .


mlambie

암호를 변경하거나 제거하려면 pf 플래그만 전달한 다음 시스템에서 암호를 제공하라는 메시지를 표시하도록 하는 것이 가장 간단한 경우가 많습니다.

ssh-keygen -p -f <name-of-private-key>

예를 들어:

ssh-keygen -p -f id_rsa

암호를 제거하려면 빈 암호를 입력하십시오.

비밀번호를 제거하거나 변경하기 위한 샘플 실행은 다음과 같습니다.

 ssh-keygen -p -f id_rsa Enter old passphrase: Key has comment 'bcuser@pl1909' Enter new passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved with the new passphrase.

암호가 없는 키에 암호를 추가할 때 실행은 다음과 같습니다.

 ssh-keygen -p -f id_rsa Key has comment 'charlie@elf-path' Enter new passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved with the new passphrase.

Community Wiki

Mac 에서는 개인 ssh 키의 암호를 키체인에 저장할 수 있으므로 이를 투명하게 사용할 수 있습니다. 로그인되어 있으면 사용할 수 있으며 로그아웃하면 루트 사용자가 사용할 수 없습니다. 암호를 제거하는 것은 파일이 있는 모든 사람이 사용할 수 있기 때문에 좋지 않습니다.

 ssh-keygen -K

~/.ssh/config 추가하십시오.

 UseKeychain yes

Community Wiki

Windows에서는 PuttyGen을 사용하여 개인 키 파일을 로드하고 암호를 제거한 다음 기존 개인 키 파일을 덮어쓸 수 있습니다.


Community Wiki

Windows에서는 위의 명령을 입력할 때 "id_ed25135: 해당 파일 또는 디렉터리가 없습니다"라는 메시지가 계속 표시됩니다. 그래서 폴더로 이동하여 폴더 탐색기에서 경로를 복사하고 끝에 "\id_ed25135"를 추가했습니다.

이것이 내가 입력하고 일한 것입니다.
ssh-keygen -p -f C:\Users\john\.ssh\id_ed25135

이것은 효과가 있었다. 어떤 이유로 Cmder에서 기본 경로는 다음과 같았습니다. C:\Users\capit/.ssh/id_ed25135(일부는 백슬래시: "\"이고 일부는 슬래시: "/")


Community Wiki

출처 : http:www.stackoverflow.com/questions/112396/how-do-i-remove-the-passphrase-for-the-ssh-key-without-having-to-create-a-new-ke

반응형