パスワードを使用して複数のホップで SSH するにはどうすればいいですか?

パスワードを使用して複数のホップで SSH するにはどうすればいいですか?

sshから を経由して にserver1到着したいと考えていました。server3server2

これは以下を使用して実行できます。

ssh -t user2@server2 ssh user3@server3

しかし、どうすればこれを達成できるのでしょうserver2server3パスワードログインですか?

制約:

1)パスワードを入力しない

2)この場合、SSHキーは使用できません

答え1

最後の を除く-t後続の各 では オプションを使用する必要があります。ssh

ssh -t user1@server1 ssh -t user2@server2 ssh user3@server3

可能であれば、埋め込み ssh コマンドの代わりに-J( ) を使用することをお勧めします。ProxyJump

ssh -J user1@server1,user2@server2 user3@server3

答え2

これを行うにはいくつかの方法があります。私が使う簡単で簡単な方法は、トンネルを掘ってからserver1 -> server2そのトンネルを使ってserver1 -> server3

ssh -L localhost:2222:server3:22 server2

ここで言っているのは、
sshでserver2...
に表示されるすべてのトラフィックトンネルのローカル側、ローカルホストのポート 2222 を
トンネルに通します。
反対側では、そのトラフィックをサーバー 3 のポート 22 に送信します。

次に別のウィンドウから:

ssh -p2222 localhost

すると、server3 のパスワードの入力が求められます。

関連情報