새 키를 생성하지 않고도 SSH 키의 암호를 제거하려면 어떻게 해야 합니까?

StackOverflow https://stackoverflow.com/questions/112396

문제

랩톱에서 새 SSH 키를 생성할 때 암호를 설정했습니다.하지만 지금 깨달은 것처럼, 커밋을 시도할 때 이는 상당히 고통스럽습니다(힘내 그리고 SVN) SSH를 통해 한 시간에 여러 번 원격 위치로 전송됩니다.

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

도움이 되었습니까?

해결책

짧은 답변:

$ 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에 암호를 입력하는 고통이 사라졌습니다.

감사해요!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top