예를 들어 비밀번호를 입력할 때마다 git
비밀번호 ssh
를 기억하고 싶습니다.
그래서 구성했어요ssh-agent
나도 추가 AddKeysToAgent yes
했어~/.ssh/config
지금 달리면 ssh-add
모든 것이 괜찮을 것입니다. 하지만 없으면 작동하지 않습니다. (매번 비밀번호를 입력해야 합니다.)
나는 ssh-add
init 스크립트에 추가할 수 있다는 것을 알고 있지만 매일 필요하지 않기 때문에 그것은 내가 원하는 것이 아닙니다. 그게 AddKeysToAgent yes
목적인 줄 알았는데 ?
나는 ssh-agent
systemd 서비스로 시작했습니다 SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket
.
고쳐 쓰다
테스트를 위해 서비스와 SSH_AUTH_SOCK을 제거했습니다. 백업하고 실행 eval $(ssh-agent)
한 다음 로그인하여 ssh pi@my-ip
비밀번호를 입력하고 다시 실행하세요. 여전히 비밀번호 프롬프트입니다. 그래서 이것은 시스템적인 문제는 아닌 것 같습니다.
업데이트 2
AddKeysToAgent yes
첫 번째 줄로 이동 하고 eval을 사용하여 문제를 해결했습니다.
답변1
좋아요, 그래서 질문은 입니다 ~/.ssh/config
.
Host awesomehost.tld
User user
IdentityFile ~/.ssh/id_rsa
AddKeysToAgent yes
그래야만 해
Host awesomehost.tld
User user
IdentityFile ~/.ssh/id_rsa
Host *
AddKeysToAgent yes
또는
AddKeysToAgent yes
Host awesomehost.tld
User user
IdentityFile ~/.ssh/id_rsa
답변2
systemd 서비스를 시작하는 대신 쉘 시작 스크립트(예: ~/.bashrc)에 다음 코드를 추가할 수 있습니다.
if ! pgrep -u "$USER" ssh-agent > /dev/null; then
ssh-agent > "$XDG_RUNTIME_DIR/ssh-agent.env"
fi
if [[ ! "$SSH_AUTH_SOCK" ]]; then
eval "$(<"$XDG_RUNTIME_DIR/ssh-agent.env")"
fi
나는 또한 ssh-agent
(사용자의) 시스템 서비스를 운영하는 데 어려움을 겪었습니다.관련 부품~의SSH 에이전트 부분~의SSH 키 기사~에아치스 위키도움이 될 수도 있습니다. 위의 방법은 매우 효과적이어서 대안을 찾을 이유가 전혀 없습니다.
도움이 되었기를 바랍니다.