SSH 프록시 명령을 사용하는 데 몇 가지 문제가 있습니다. 프록시 인증은 제대로 작동하지만 원격 호스트에 로그인하려고 하면 실패합니다. 문제는 에이전트가 에이전트에 저장된 키 대신 내 로컬 rsa_key를 사용하여 로그인을 시도하는 것 같습니다. 이 문제를 해결할 방법이 있나요?
이것이 내가 원하는거야:
로컬 -- 로컬 rsa --> 에이전트 -- 에이전트 rsa --> 호스트
내가 사용하는 구성 파일:
Host 192.168.178.32
HostName 192.168.178.32
User user
Port 22
IdentityFile ~/.ssh/id_rsa.pub
Host 192.168.178.30
HostName 192.168.178.30
User user
Port 22
IdentityFile home/user/.ssh/id_rsa.pub
ProxyCommand ssh -W %h:%p -F ssh_config -p 22 192.168.178
답변1
이것은 당신이 듣고 싶은 대답이 아닐 수도 있지만, 당신이 하고 싶은 일을 할 수는 없습니다.
ssh의 옵션은 ProxyCommand
명령의 STDIN 및 STDOUT이 대상 호스트( %h
) 및 포트( %p
)에 직접 연결될 것으로 예상합니다. 따라서 원격 프로세스와 통신하는 것은 프록시 호스트의 프로세스가 아닌 ssh
로컬 프로세스입니다 . 원격과 통신하는 로컬 프로세스 이므로 에이전트의 SSH 키에 액세스할 수 없습니다.sshd
ssh
ssh
결국에는 두 가지 옵션만 있습니다:
- 에이전트 호스트에서 SSH 키를 복사하여 로컬로 설치합니다.
ssh
에이전트에서 투명하게 실행되는 로컬 명령을 설정합니다 . 예를 들어:alias sshp='ssh -t 1.2.3.4 ssh'