다음과 같이 연결된 세 개의 Linux 시스템이 있습니다.
Linux_machine1 --> Route_linux_machine --> Linux_machine2
Route_linux_machine을 통해서만 Linux_machine1에서 Linux_machine2로 SSH를 연결하는 방법
Route_linux_machine과 마찬가지로 Linux_machine2에 대한 경로입니다.
답변1
그것은 그것이 무엇인지에 달려 있습니다 Route_linux_machine
.
Route_linux_machine
라우터입니다
단지 라우터인 경우(SSH 서비스/계정이 없음을 의미): iptables
네트워크 트래픽을 리디렉션하는 몇 가지 규칙을 추가해야 합니다. 예를 들어 다음과 같습니다.
iptables -t nat -A PREROUTING -d linux_machine2_alias \
-p TCP --dport 22 -j DNAT --to-destination linux_machine2:22
( linux_machine2_alias
에 속한 다른 IP 주소는 어디에 있습니까 route_linux_machine
?) 그런 다음 컴퓨터에서 SSH를 통해 linux_machine2_alias
(실제로는 라우터)로 리디렉션해야 합니다 linux_machine2
.
Route_linux_machine
SSH 게이트웨이입니다
컴퓨터에 SSH 계정이 있으면 Route_linux_machine
SSH 터널을 설정할 수 있습니다.
ssh user@route_linux_machine -L2222:linux_machine2:22
linux_machine2
그런 다음 자신의 컴퓨터의 포트 2222가 를 통해 포트 22로 리디렉션됩니다 route_linux_machine
. 당신이 해야 할 일은 다음과 같습니다:
ssh user@localhost -p 2222
자신의 컴퓨터( )에 연결하는 것처럼 보이지만 localhost
실제로는 로 리디렉션되고 있습니다 linux_machine2
.
대안으로 터널을 사용하지 않으려면 중첩된 ssh
명령을 사용할 수 있습니다.
ssh -t -A user@route_linux_machine ssh user@linux_machine2
route_linux_machine
먼저 비밀번호를 묻는 메시지가 표시된 다음 linux_machine2
다시 비밀번호를 묻는 메시지가 표시됩니다 .