ssh-agent를 통한 공개 키 인증 및 SSH Agent Forwarding을 통한 다단계 로그인
-i
옵션으로 비공개키를 지정할 필요가 있지만, ssh-agent 를 사용하는 것으로 지정 필요하지 않습니다. 또한 SSH Agent Forwarding 기능을 사용하면 개인 키를 로컬 PC에 넣은 채로 로그인 대상 서버에서 또 다른 서버에 로그인 할 수도 있습니다.ssh-agent
개인 키 등록
로컬 PC에서 ssh-agent를 시작합니다. macOS에서는 자동으로 부팅하므로 필요하지 않습니다.
eval `ssh-agent`
로컬 PC의 ssh-agent에 개인 키를 등록합니다. 파일명을 생략하면 유저의 디폴트 비밀키(~/.ssh/id_rsa)가 등록된다.
ssh-add xxxx.pem
SSH 로그인
ssh-agent가 시작되면 매번
-i
선택적으로 개인 키를 지정할 필요없이 로그인 할 수 있습니다. 복수의 키가 등록되어있는 경우, 각각의 키로 시도된다. 그 때문에 너무 많은 열쇠를 등록하면 Too many authentication failures 가 되어 서버로부터 거부되는 경우가 있으므로 주의.ssh <user>@<host>
SSH Agent Forwarding
서버 설정
발판인 SSH 서버에서 Agent Forwading 기능이 활성화되어 있어야 합니다.
기본적으로 활성화되어있을 수 있으므로 확인하십시오.
# /etc/ssh/sshd_config
AllowAgentForwarding yes
로그인
발판 서버에 로그인 할 때
-A
옵션을 붙이면 로그인 대상 서버에서도 로컬 ssh-agent에 등록한 키가 사용됩니다. 게다가 그 앞에서도 다단에 로그인하고 싶은 경우는 그 때마다 -A
옵션을 붙이면 좋다.ssh -A <user>@<host>
설정
매번
-A
옵션을 붙이는 것이 귀찮은 경우는, 접속원의 호스트로 이하와 같이 설정해 둔다.# ~/.ssh/config
Host server1.example.com (接続先のホスト名)
ForwardAgent yes
Git over SSH
Git 등 SSH 경유로 액세스 하는 경우도 자동적으로 ssh-agent 에 등록한 키가 사용된다.
git clone git@<host>:<user>/<repos>.git
다른 사용자로 전환
다른 사용자로 전환해도 ssh-agent를 유지하려면 환경 변수를 유지해야합니다. sudo 에 -E 옵션을 붙여 실행한다.
sudo -E git clone git@<host>:<user>/<repos>.git
Reference
이 문제에 관하여(ssh-agent를 통한 공개 키 인증 및 SSH Agent Forwarding을 통한 다단계 로그인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yh1224/items/721fe0e87a762e5c3325텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)