openssh - 입력 시 에이전트에 키 추가

openssh - 입력 시 에이전트에 키 추가

예를 들어 비밀번호를 입력할 때마다 git비밀번호 ssh를 기억하고 싶습니다.

그래서 구성했어요ssh-agent

나도 추가 AddKeysToAgent yes했어~/.ssh/config

지금 달리면 ssh-add모든 것이 괜찮을 것입니다. 하지만 없으면 작동하지 않습니다. (매번 비밀번호를 입력해야 합니다.)

나는 ssh-addinit 스크립트에 추가할 수 있다는 것을 알고 있지만 매일 필요하지 않기 때문에 그것은 내가 원하는 것이 아닙니다. 그게 AddKeysToAgent yes목적인 줄 알았는데 ?

나는 ssh-agentsystemd 서비스로 시작했습니다 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 키 기사~에아치스 위키도움이 될 수도 있습니다. 위의 방법은 매우 효과적이어서 대안을 찾을 이유가 전혀 없습니다.

도움이 되었기를 바랍니다.

관련 정보