ssh-agent
데스크탑에서 실행해봤는데 잘 작동됩니다 . 이는 비밀번호 없이 SSH 키를 사용할 수 있음을 의미합니다.
SSH를 통해 데스크톱에 연결할 때 갑자기 SSH 에이전트를 사용할 수 없습니다. SSH에서 비밀번호를 묻습니다.
ps
실행되고 있는 걸 볼 수 있어요 ssh-agent
.
이렇게 하면 eval $(ssh-agent -s) && ssh-add
비밀번호를 묻는 메시지가 표시되고 ssh-agent
현재 SSH 세션 내에서 작동합니다. 로그아웃했다가 다시 로그인하면 더 이상 작동하지 않습니다.
또한 ps
새 인스턴스가 시작된 것을 확인했습니다 ssh-agent
. 그래서 여러 인스턴스가 실행 중입니다.
SSH를 통해 연결할 때 프록시가 작동하지 않는 이유는 무엇입니까? 왜 매번 다시 시작해야 하나요?
저는 클라이언트와 서버 모두 Debian 10 openssh-client
버전을 사용하고 있습니다.1:7.9p1-10+deb10u2
답변1
SSH 클라이언트는 쉘 변수 SSH_AUTH_SOCK를 사용하여 SSH 에이전트와 통신합니다. 이 변수에는 에이전트가 수신 대기 중인 소켓이 포함되어 있습니다. 설정되지 않았거나 잘못 설정되면 SSH 클라이언트가 에이전트와 통신할 수 없습니다.
귀하의 경우에는 다음과 같은 일이 일어나고 있다고 생각합니다.
- 컴퓨터에 로그인하면 SSH_AUTH_SOCK이 설정되지 않습니다. SSH 클라이언트는 SSH 에이전트를 인식하지 못합니다.
eval $(ssh-agent -s)
다른 SSH 에이전트를 시작하고 현재 쉘에서 SSH_AUTH_SOCK를 설정하십시오. SSH 클라이언트는 새 에이전트와 통신할 수 있습니다.- 그런 다음 로그아웃했다가 다시 로그인하면 SSH_AUTH_SOCK이 다시 설정되지 않습니다.
.bashrc에서 SSH_AUTH_SOCK를 설정하여 향후 모든 bash 세션에서 이 변수가 설정되도록 할 수 있습니다. SSH 에이전트를 종료하고 새 에이전트를 실행할 때마다 .bashrc를 업데이트해야 합니다.