OpenSSH의 ProxyJump 옵션을 사용하여 점프 호스트를 통해 홈 장치에서 최종 호스트로 SSH를 시도하고 있습니다.
x.x.x.x
점프 호스트에는 유일한 인터페이스에 바인딩된 두 개의 IP 주소( 및 ) 가 있습니다 y.y.y.y
. 최종 호스트에 대한 SSH 액세스가 허용되는 IP 화이트리스트가 있는 방화벽이 있습니다. y.y.y.y
목록에 있지만 x.x.x.x
그렇지 않습니다.
문제는 점프 호스트의 기본값이 x.x.x.x
아웃바운드 SSH에 사용된다는 것입니다.
점프 호스트에서 최종 호스트로 수동으로 SSH를 실행하는 경우 -b
. ssh -b y.y.y.y endhost
이것은 잘 작동합니다.
그러나 Jumphost를 중간 장치로 사용하여 내 개인 장치에서 endhost로 직접 이동하려고 하면 제대로 작동하지 않는 것 같습니다. 바인드 주소를 지정하는 데 몇 가지 변형을 시도했지만 ~/.ssh/config
운이 없습니다.
특정 바인드 주소를 사용하도록 점프 호스트에 지시하는 방법이 있습니까?
답변1
내 설정의 문제는 기본 게이트웨이가점프 호스트아웃바운드 트래픽에 사용하려는 x.x.x.x
IP(귀하의 예에서는)와 다른 IP(귀하의 예에서는)를 사용하도록 설정되었습니다 .sshd
y.y.y.y
그래서 나에게 효과가 있었던 한 가지 방법은 컴퓨터에 특정 경로를 설정하는 것이었습니다.점프 호스트에 대한말단 호스트님의 IP입니다.
에점프 호스트(저는 Ubuntu 20.04를 실행하고 있습니다):
route add -host <endhost's IP>/32 gw y.y.y.1 dev <y.y.y.y's Iface>
IPv4는 어디에 <endhost's IP>
있고 n.n.n.n
와 연결된 <y.y.y.y's Iface>
인터페이스는 무엇입니까 ?y.y.y.y
eth0
참고자료:
저는 특히 sshd
DigitalOcean의 Floating IP를 통해 라우팅하는 작업을 하고 있었습니다. 이 경우 다음을 y.y.y.y
사용하여 검색해야 합니다.
curl -s http://169.254.169.254/metadata/v1/interfaces/public/0/anchor_ipv4/address
따라서 해당 명령이 를 반환하면 10.10.0.7
은 y.y.y.y
입니다 10.10.0.7
.
참고자료: