랩톱에서 새 SSH 키를 만들 때 암호를 설정했습니다. 그러나 지금 깨닫는 것처럼 한 시간에 여러 번 SSH를 통해 원격 위치 에 커밋( Git 및 SVN )하려고 할 때 이것은 매우 고통스럽습니다.
내가 생각할 수 있는 한 가지 방법은 SSH 키를 삭제하고 새로 만드는 것입니다. 동일한 키를 유지하면서 암호를 제거하는 방법이 있습니까?
질문자 :Community Wiki
랩톱에서 새 SSH 키를 만들 때 암호를 설정했습니다. 그러나 지금 깨닫는 것처럼 한 시간에 여러 번 SSH를 통해 원격 위치 에 커밋( Git 및 SVN )하려고 할 때 이것은 매우 고통스럽습니다.
내가 생각할 수 있는 한 가지 방법은 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에서 사용하는 프로토콜도 지원합니다.
$ ssh-keygen -p
가 나를 위해 일했습니다.
git bash를 열었습니다. 붙여넣기: $ ssh-keygen -p
기본 위치에 대해 Enter 키를 누릅니다.
이전 암호를 입력하세요.
새 암호 입력 - 공백
새 암호 확인 - 공백
BOOM git push에 대한 암호를 입력하는 고통이 사라졌습니다.
감사 해요!
로그인 시 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
및 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.
Mac 에서는 개인 ssh 키의 암호를 키체인에 저장할 수 있으므로 이를 투명하게 사용할 수 있습니다. 로그인되어 있으면 사용할 수 있으며 로그아웃하면 루트 사용자가 사용할 수 없습니다. 암호를 제거하는 것은 파일이 있는 모든 사람이 사용할 수 있기 때문에 좋지 않습니다.
ssh-keygen -K
~/.ssh/config
추가하십시오.
UseKeychain yes
Windows에서는 PuttyGen을 사용하여 개인 키 파일을 로드하고 암호를 제거한 다음 기존 개인 키 파일을 덮어쓸 수 있습니다.
Windows에서는 위의 명령을 입력할 때 "id_ed25135: 해당 파일 또는 디렉터리가 없습니다"라는 메시지가 계속 표시됩니다. 그래서 폴더로 이동하여 폴더 탐색기에서 경로를 복사하고 끝에 "\id_ed25135"를 추가했습니다.
이것이 내가 입력하고 일한 것입니다.
ssh-keygen -p -f C:\Users\john\.ssh\id_ed25135
이것은 효과가 있었다. 어떤 이유로 Cmder에서 기본 경로는 다음과 같았습니다. C:\Users\capit/.ssh/id_ed25135(일부는 백슬래시: "\"이고 일부는 슬래시: "/")
출처 : http:www.stackoverflow.com/questions/112396/how-do-i-remove-the-passphrase-for-the-ssh-key-without-having-to-create-a-new-ke
활동에 원래 추가된 창이 누출되었습니다. (0) | 2023.04.26 |
---|---|
누군가 파이썬에서 __all__을 설명할 수 있습니까? (0) | 2023.04.26 |
이미 rebase를 시작한 경우 두 커밋을 하나로 병합하려면 어떻게 해야 합니까? (0) | 2023.04.26 |
Firefox 또는 Chrome 브라우저에서 HTTP POST 요청을 수동으로 보내는 방법 (0) | 2023.04.26 |
값을 기준으로 다차원 배열을 정렬하는 방법 (0) | 2023.04.26 |