Wie führe ich SSH mit mehreren Hops unter Verwendung von Passwörtern durch?

Wie führe ich SSH mit mehreren Hops unter Verwendung von Passwörtern durch?

Ich wollte sshvon server1und server3über erreichen server2.

Dies kann wie folgt erfolgen:

ssh -t user2@server2 ssh user3@server3

Aber wie kann ich das erreichen, wenn server2und server3habenPasswort-Logins?

Einschränkungen:

1)Ich werde keine Passwörter eingeben

2)Ich kann in diesem Fall keine SSH-Schlüssel verwenden

Antwort1

Sie sollten die -tOption bei jedem weiteren verwenden ssh, außer beim letzten:

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

Wenn möglich, verwenden Sie besser -J( ProxyJump) anstelle von eingebetteten SSH-Befehlen:

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

Antwort2

Es gibt mehrere Möglichkeiten, dies zu tun. Die schnellste und einfachste Methode, die ich verwenden würde, ist, einen Tunnel zu bauen server1 -> server2und diesen Tunnel dann zu benutzen, umserver1 -> server3

ssh -L localhost:2222:server3:22 server2

Hier sagen wir:
ssh zu server2...
jedem Verkehr, der auf demMLokale Seite des Tunnels auf Port 2222 des lokalen Hosts ...
durch den Tunnel leiten ...
auf der anderen Seite den Datenverkehr an Port 22 des Server3 senden

Dann aus einem anderen Fenster:

ssh -p2222 localhost

Sie sollten nun auf Server3 nach dem Kennwort gefragt werden.

verwandte Informationen