Wie kann ich SSH und SCP direkt über einen Server verwenden?

Wie kann ich SSH und SCP direkt über einen Server verwenden?

Ich verbinde mich mit Server2 folgendermaßen:

home$ ssh server1
server1$ ssh server2
server2$

Manchmal muss ich auch auf diese Weise scp verwenden, was etwas länger dauert:

home$ ssh server1
server1$ scp server2:file .
server1$ exit
home$ scp server1:file .

Gibt es eine Möglichkeit, dies mit einem Befehl von zu Hause aus zu tun? Ich verwende die Authentifizierung mit öffentlichem Schlüssel, aber es wäre schön, wenn es auch mit Passwörtern funktionieren würde.

Antwort1

Ich schlage vor, MobaXterm zu verwenden: Sie müssen nur

  • Laden Sie es hier herunter:http://mobaxterm.mobatek.net/download-home-edition.html
  • Klicken Sie auf „Neue Sitzung“ und wählen Sie „ssh“
  • Geben Sie Ihren "Server2"-Computernamen oder Ihre IP-Adresse im Feld "Remote-Hostname" an.
  • Geben Sie Ihren „Server1“-Computernamen oder Ihre IP-Adresse im Feld „SSH-Bouncing (Verbindung über einen Gateway-SSH-Server herstellen)“ an.

Dadurch wird ein neuer SSH-Befehl direkt an Ihren „Server2“-Computer gesendet. Auf der linken Seite des Fensters haben Sie außerdem Zugriff auf ein grafisches SFTP-Dateiübertragungstool, das ebenfalls direkt mit „Server2“ verbunden ist.

Antwort2

Sie können SSH-Tunneling folgendermaßen verwenden:

ssh -f server1 -L 8888:server2:22 -N

Dadurch wird auf Ihrem lokalen Computer ein Socket auf Port 8888 geöffnet (vorausgesetzt, dass kein anderer Prozess diesen Port verwendet), der die Verbindung über Server1 zu Server2 tunnelt (vorausgesetzt, dass SSH dort auf Port 22 läuft). Die Flags -Nund -fweisen SSH an, in den Hintergrund zu wechseln (Sie müssen den Prozess beenden, wenn Sie den Tunnel stoppen möchten).

Jetzt können Sie Dateien von Server2 per SCP senden, indem Sie

scp -P 8888 localhost:file

Antwort3

home$ server1 "ssh server2"

Wenn jedoch mehrere Server beteiligt sind, kann das Verlassen der Befehlszeichenfolge schwierig werden.

Antwort4

Verwenden Sie SOCKS5 mit einem dynamischen Tunnel

Erstellen Sie einen dynamischen SSH-Tunnel zum ersten Rechner. Verwenden Sie dann die erste Verbindung als SOCKS5-Proxy, um zum zweiten Host im Remote-Netzwerk zu gelangen.

Dies lässt sich ganz einfach über Putty einrichten. Sie können den Proxy beliebig oft wiederverwenden. Einige Programme unterstützen SOCKS5 direkt. Zum Beispiel Putty und SSH.

Unter Linux können Proxychains verwendet werden, um Programme zu proxyifizieren, die SOCKS5 nicht nativ unterstützen. Unter Windows gefällt mir Proxycap. Es funktioniert gut mit RDP.

So richten Sie dies mit Putty ein:

Auf der ersten Host-Einstellungsseite unter Tunnel:

  • Erstellen Sie einen dynamischen Tunnel
  • Stellen Sie den Port auf 9050 ein.
  • Lassen Sie den Zielteil leer, da er dynamisch ist.
  • Speichern Sie Ihre Einstellungen. (Erfolgt auf der Sitzungsseite.)

Dann in der Konfiguration für den zweiten Host unter Proxy:

  • Wählen Sie SOCK55.
  • Ändern Sie den Proxy-Hostnamen in 127.0.0.1
  • Stellen Sie den Port auf 9050 ein
  • Richten Sie dann den Rest Ihrer Sitzung wie gewohnt ein
  • Speichern Sie Ihre Einstellungen

So stellen Sie eine Verbindung zum zweiten Host her: Sie müssen sich zunächst mit dem ersten Host verbinden und dort anmelden. Anschließend sollten Sie über die proximatisierte SSH-Verbindung eine Verbindung zum zweiten Host herstellen können.

Sie können dies auch von der Befehlszeile mit einem ssh_config-Eintrag tun: http://www.undeadly.org/cgi?action=article&sid=20070925181947

verwandte Informationen