GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ssh – Häufiges Problem bei der Dateiverarbeitung mehrerer SSH-Verbindungen?

Oft muss ich eine Datei herunterladen, die nicht direkt über die erste SSH-Verbindung erreichbar ist. Zum Beispiel bin ich auf einem Windows-Computer und möchte auf einen anderen Computer zugreifen, auf den nur über LAN zugegriffen werden kann. Das bedeutet, dass ich mich zuerst mit einer Zwischenmaschine und SSH mit der nächsten verbinden muss.

Es wäre einfach, pscp zu verwenden, um die Datei zu erhalten, wenn sie für die erste Maschine verfügbar wäre. Könnte in diesem Szenario eine SSH-Portweiterleitung verwendet werden?

Akzeptierte Antwort:

Ja, in diesem Fall kann die SSH-Portweiterleitung verwendet werden, aber Sie können auch Warnungen über ungültige oder falsche Hostschlüssel erhalten, wenn Sie dies versuchen. Einige SSH-Clients wie OpenSSH verfolgen SSH-Hostschlüssel nur nach Domain oder IP und schließen die Portnummer nicht mit ein. PuTTY scheint die Portnummer mit dem Hostschlüssel aufzuzeichnen und sollte nicht unter diesem Problem leiden, solange Sie konsistent mit den Portnummern sind, die Sie für jeden Host verwenden. Ich würde empfehlen, die Portweiterleitungen zu einer gespeicherten Sitzung in PuTTY hinzuzufügen. Sie können dann auch die zusätzlichen Sitzungen für die verschiedenen Remote-Hosts als gespeicherte Sitzungen speichern und diese mit pscp/psftp verwenden. Sie können mit jedem Port mit hoher Nummer für die Weiterleitung beginnen, z. B. 2220, und von dort aus für jeden Host, den Sie über einen Zwischenhost weiterleiten müssen, um eins nach oben gehen. Zur gespeicherten Sitzung für intermediate hinzufügen lokale Portweiterleitungen wie Port 2220 und Ziel remote1:22 und Port 2221 mit Ziel remote2:22 für entfernte Hosts remote1 und remote2 Erstellen Sie dann Sitzungen für remote1 mit Ziel localhost und SSH-Port 2220 und eine Sitzung für remote2 mit Ziel localhost und SSH-Port 2221 . Um Sitzungen mit pcsp/psftp zu verwenden, verwenden Sie @session-name für den Host.

Das Problem tritt auf, wenn Sie entweder irgendwie einen SSH-Hostschlüssel mit localhost verknüpft haben und versuchen, eine Verbindung zu einem lokalen Port herzustellen, der an einen anderen Computer weitergeleitet wird. Bei OpenSSH habe ich dieses Problem behoben, indem ich HostKeyAlias verwendet habe . Ich habe Einträge zu meinem ~/.ssh/config hinzugefügt so:

Host intermediate
HostName intermediate.example.org
LocalForward 2220 remote1.example.org:22
LocalForward 2222 remote2.example.org:22

Host remote1
HostName localhost
Port 2220
HostKeyAlias remote1.example.org

Host remote2
HostName localhost
Port 2221
HostKeyAlias remote2.example.org

Meine bevorzugte Lösung war jedoch, IPv6 in meinem Heim- und Arbeitsnetzwerk bereitzustellen, und ich musste mich nicht mehr darum kümmern, zuerst eine Verbindung zu einem Zwischenserver herzustellen, um an mein endgültiges Ziel zu gelangen.

Verwandte:Linux – Gibt es ein ernsthaftes Risiko, wenn Mint 17 denkt, es sei Ubuntu?
Linux
  1. So konfigurieren Sie benutzerdefinierte SSH-Verbindungen, um den Remotezugriff zu vereinfachen

  2. So ändern Sie den SSH-Port unter Linux

  3. So richten Sie SSH-Tunneling ein

  4. Ssh – Mehrere ähnliche Einträge in der Ssh-Konfiguration?

  5. So führen Sie ssh auf mehreren Ports aus

So ändern Sie den SSH-Port auf VPS

Verwenden der SSH-Konfigurationsdatei

So erstellen Sie virtuelle Hosts auf Apache Server, um mehrere Websites zu hosten

Verwenden Sie die SSH-Konfigurationsdatei, um SSH-Verbindungen zu verschiedenen Remote-Servern zu verwalten

Verbindung zum Host localhost Port 22 herstellen:Verbindung abgelehnt

Tail-Log-Datei auf mehreren Rechnern über ssh