ssh -A
원격 서버에서 연결을 설정할 때 로컬 ssh 키를 사용할 수있는을 좋아 합니다. 예를 들어, ssh -A host1.example.com
그런 다음 거기에서 ssh host2.example.com
git을 사용할 수 있고 원래 컴퓨터의 ssh 키를 사용합니다.이 경우 내 Mac 이어야 합니다. 이것은 데비안 / 우분투에서 항상 작동했지만 새로운 Mac (Lion)에서는 작동하지 않습니다.
내가 여기서 무엇을 놓치고 있습니까? -A에서 올바르게 작동하도록 ssh를 어떻게 구성합니까? 표준 MacOS가 아닌 ssh가 필요합니까?
답변
실제로 매우 간단한 대답은
ssh-add
그런 다음 모두 작동합니다.
기본적으로 macOS에는 이미 ssh-agent가 설정되어 있지만 재부팅 할 때마다 키를 추가해야합니다. ssh-add는 ssh-agent가 현재 부팅주기 동안 키에 액세스 할 수 있도록합니다. 개인 키를 생성 한 경우 개인 키의 암호를 입력해야합니다.
답변
배후의 개념 ssh -A
은 ssh 에이전트입니다. 백그라운드에서 실행되고 환경 변수를 사용하여 ssh를 사용하여 다른 시스템에 로그인 할 때 에이전트를 찾고 인증에 자동으로 사용할 수 있습니다. 자세한 내용은 ssh-agent 맨 페이지를 참조하십시오.
Mac OS X에서는 ssh-agent가 필요에 따라 시작되어야합니다.
자세한 내용은 다음을 참조하십시오.
답변
OS X 10.8부터이 작업을 한 번 수행해야합니다.
sudo touch /var/db/useLS
그리고 이것을 당신의 일부로 추가하십시오 ~/.bash_profile
:
if [ -f ~/.ssh/id_rsa ]; then
ssh-add -K ~/.ssh/id_rsa 2>/dev/null
fi
참고 :이 레시피는 내 베두인 스크립트의 일부입니다.