次のように接続された3つの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
パスワードの入力を求められます。