랩톱에서 새 SSH 키를 만들 때 암호를 설정했습니다. 그러나 지금 알 다시피 , 한 시간에 SSH를 통해 원격 위치에 ( Git 및 SVN ) 커밋하려고 할 때 이것은 매우 고통 스럽 습니다.
내가 생각할 수있는 한 가지 방법은 SSH 키를 삭제하고 새로 만드는 것입니다. 여전히 동일한 키를 유지하면서 암호를 제거하는 방법이 있습니까?
랩톱에서 새 SSH 키를 만들 때 암호를 설정했습니다. 그러나 지금 알 다시피 , 한 시간에 SSH를 통해 원격 위치에 ( Git 및 SVN ) 커밋하려고 할 때 이것은 매우 고통 스럽 습니다.
내가 생각할 수있는 한 가지 방법은 SSH 키를 삭제하고 새로 만드는 것입니다. 여전히 동일한 키를 유지하면서 암호를 제거하는 방법이 있습니까?
답변:
짧은 답변:
$ ssh-keygen -p
그러면 키 파일 위치, 이전 암호 구 및 새 암호 구를 입력하라는 메시지가 표시됩니다 (암호를 남기지 않으려면 비워 둘 수 있음).
프롬프트없이 한 줄로 모든 작업을 수행하려면 다음을 수행하십시오.
$ ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
중요 사항 : 명령을 실행할 때 일반적으로 ~/.bash_history
제공된 모든 인수 (이 경우 비밀번호 문구)를 포함하여 일반 텍스트로 파일 (또는 유사)에 기록됩니다 . 따라서 특별한 이유가없는 한 첫 번째 옵션을 사용하는 것이 좋습니다.
nor -f keyfile
를 지정 -P
하지 않고도 계속 사용할 수 -N
있으며 키 파일의 기본값은 ~/.ssh/id_rsa
로 설정되어 있으므로 많은 경우에는 필요하지 않습니다.
암호문을 한동안 캐시 할 수있는 ssh-agent 사용을 고려할 수 있습니다. 최신 버전의 gpg-agent는 ssh-agent에서 사용하는 프로토콜도 지원합니다.
ssh-keygen -p
터미널에서 실행할 수 있습니다 . 그런 다음 키 파일 (기본적으로 올바른 파일로 설정되어 있음 ~/.ssh/id_rsa
), 이전 암호 (현재 입력 한 내용) 및 새 암호 (아무 입력하지 않음)를 묻는 메시지가 표시됩니다.
ssh-keygen -p -P oldpassphrase -N "" -f ~/.ssh/id_rsa
~/.bash_history
. 다음을 입력하는 것이 좋습니다 :$ cd ~/.ssh && ssh-keygen -f id_dsa -p
~/.bash_hstory
즉. `ssh-keygen -p -P oldpassphrase -N ""-f ~ / .ssh / id_rsa`를 사용하면 괜찮습니다 (다른 키로거가없는 한). 당신은 또한 역사에서 기록을 제거 할 수 있습니다 ..
$ ssh-keygen -p
나를 위해 일했다
자식 배쉬를 열었습니다. 붙여 넣기 :$ ssh-keygen -p
기본 위치를 입력하려면 Enter 키를 누르십시오.
오래된 암호를 입력하십시오
새 비밀번호 입력-공백
새 비밀번호 문구 확인-공백
BOOM git push에 대한 암호 입력의 고통이 사라졌습니다.
감사!
$ ssh-keygen -p
키를 눌렀을 때 키가 기본 위치 (/Users/yourname/.ssh/id_rsa)가 아닌 /Users/yourname/.ssh/yourkey
경우, 프롬프트가 표시 될 때 응답 할 수 있습니다
로그인시 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를 원격 컴퓨터에 복사하여 원격 키 체인에 추가합니다.
암호를 변경하거나 제거하기 위해 종종 p
and f
플래그 만 전달하는 것이 가장 간단한 것을 발견 한 다음 시스템에서 암호를 입력하라는 메시지를 표시합니다.
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.