새 키를 생성하지 않고도 SSH 키의 암호를 제거하려면 어떻게 해야 합니까?
-
02-07-2019 - |
해결책
짧은 답변:
$ ssh-keygen -p
그러면 키 파일 위치, 이전 암호 및 새 암호(암호가 없는 경우 비워 둘 수 있음)를 입력하라는 메시지가 표시됩니다.
프롬프트 없이 한 줄에 모든 작업을 수행하려면 다음을 수행하십시오.
$ ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
중요한: 명령을 실행할 때 일반적으로 명령이 로그인된다는 점에 유의하십시오. ~/.bash_history
제공된 모든 인수를 포함하는 일반 텍스트로 된 파일(또는 이와 유사한)(예:이 경우 암호문).따라서 특별한 이유가 없는 한 첫 번째 옵션을 사용하는 것이 좋습니다.그래도 여전히 사용할 수 있습니다. -f keyfile
따로 지정하지 않고도 -P
...도 아니다 -N
, 키 파일의 기본값은 다음과 같습니다. ~/.ssh/id_rsa
, 이므로 많은 경우에는 필요하지도 않습니다.
한동안 암호를 캐시할 수 있는 ssh-agent 사용을 고려할 수도 있습니다.최신 버전의 gpg-agent는 ssh-agent에서 사용하는 프로토콜도 지원합니다.
다른 팁
로그인 시 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가 원격 컴퓨터에 복사되어 원격 키체인에 추가됩니다.
$ ssh-keygen -p
나를 위해 일했다
git bash를 열었습니다.붙여넣기: $ ssh-keygen -p
기본 위치를 보려면 Enter 키를 누르세요.
이전 암호를 입력하세요
새 암호 입력 - 공백
새 암호 확인 - 공백
BOOM git push에 암호를 입력하는 고통이 사라졌습니다.
감사해요!