첫 번째 서버에 키가 있는 SSH 터널

첫 번째 서버에 키가 있는 SSH 터널

터널을 DestinationHost통과하려고 했으나HopHost

ssh -o ProxyCommand='ssh HopHostUser@HopHost nc -w 10 %h %p' DestinationHost

먼저 HopHostUser로 HopHost를 인증합니다.

HopHostUser@HopHost password: 

HopHost에 인증한 후 다음을 얻습니다.

Permission denied (publickey).

HopHostUser연결은 다음 DestinationHost과 같이 구성된 키를 사용하여 인증됩니다.HopHostUserHopHost

터널/프록시가 아닌 한 단계로 HopHost를 통해 DestinationHost에 연결하려면 다음을 수행하면 됩니다.

 me@localhost >> ssh HopHostUser@HopHost
 HopHostUser@HopHost password:
 HopHostUser@HopHost >> ssh DestinationHost
 HopHostUser@DestionationHost >> 

원시 SSH 명령을 사용하면 -vlocalhost에서는 키를 볼 수 있지만 HopHost에서는 볼 수 없습니다.

내 로컬 호스트를 확인하는 대신 SSH에 외부 키를 사용하도록 지시할 수 있나요?

답변1

할 수 없다SSH 키는 홉 서버에 저장되고 로컬에서 액세스할 수 없으므로 프록시/터널을 사용하십시오. 이상적으로는 새 키를 생성하여 ~/.ssh/authorized_keyson 에 추가 DestinationHost하지만 이것이 불가능할 수도 있습니다.

이 기능을 설정하는 가장 쉬운 방법은 원격 명령과 두 개의 로컬 포트 ​​전달을 사용하는 것입니다.

터미널 열기대상 호스트:

ssh -t HopHostUser@HopHost "ssh DestinationHost"

터미널 열기 + 포트 포워딩대상 호스트도착하다로컬 호스트:

ssh -t -L8081:localhost:9999 HopHostUser@HopHost "ssh -L9999:localhost:80 DestinationHost"

이를 위해서는 ssh 구성을 사용하는 것이 좋습니다. 이건 긴 이야기다.

답변2

시도해 보셨나요?

ssh HopHostUser@HopHost ssh DestinationHost

나는 몇 년 전에 이 작업을 수행했는데 이제 ssh를 사용하면 이러한 일이 발생하는 것을 방지할 수 있을 것입니다. 여러 호스트에 액세스할 수 없으므로 이 명령을 테스트할 수 없습니다.

관련 정보