이것이 내가 원하는거야:

이것이 내가 원하는거야:

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 키에 액세스할 수 없습니다.sshdsshssh

결국에는 두 가지 옵션만 있습니다:

  1. 에이전트 호스트에서 SSH 키를 복사하여 로컬로 설치합니다.
  2. ssh에이전트에서 투명하게 실행되는 로컬 명령을 설정합니다 . 예를 들어:alias sshp='ssh -t 1.2.3.4 ssh'

관련 정보