Master-Verbindung
Am einfachsten ist es, wenn Sie im Voraus planen.
Öffnen Sie das erste Mal eine Master-Verbindung. Leiten Sie für nachfolgende Verbindungen Slave-Verbindungen über die vorhandene Master-Verbindung. Richten Sie in Ihrem ~/.ssh/config
die automatische Verbindungsfreigabe ein:
ControlMaster auto
ControlPath ~/.ssh/control:%h:%p:%r
Wenn Sie eine SSH-Sitzung zu demselben Zeitpunkt (Benutzer, Port, Computer) wie eine vorhandene Verbindung starten, wird die zweite Sitzung über die erste getunnelt. Das Herstellen der zweiten Verbindung erfordert keine neue Authentifizierung und ist sehr schnell.
Während Sie also eine aktive Verbindung haben, können Sie schnell:
Weiterleitung
Auf einer bestehenden Verbindung können Sie einen Reverse-SSH-Tunnel einrichten. Erstellen Sie in der ssh-Befehlszeile eine Remote-Weiterleitung, indem Sie übergeben, -R 22042:localhost:22
wobei 22042 eine zufällig ausgewählte Nummer ist, die sich von jeder anderen Portnummer auf dem Remote-Computer unterscheidet. Anschließend werden Sie ssh -p 22042 localhost
auf dem Remotecomputer wieder mit dem Quellcomputer verbunden. Sie können scp -P 22042 foo localhost:
zum Kopieren von Dateien verwenden.
Mit können Sie dies weiter automatisieren RemoteForward 22042 localhost:22
. Das Problem dabei ist, dass Sie die Weiterleitung nicht erhalten, wenn Sie mit mehreren Instanzen von ssh eine Verbindung zu demselben Computer herstellen oder wenn eine andere Person den Port verwendet.
Wenn Sie von Anfang an keine Remote-Weiterleitung aktiviert haben, können Sie dies in einer vorhandenen SSH-Sitzung tun. Typ Enter ~C
Enter -R 22042:localhost:22
Enter. Weitere Informationen finden Sie im Handbuch unter „Escape-Zeichen“.
Es gibt auch einige interessante Informationen in diesem Serverfehler-Thread .
Kopieren Einfügen
Wenn die Datei klein ist, können Sie sie eingeben und aus der Terminalausgabe kopieren und einfügen. Wenn die Datei nicht druckbare Zeichen enthält, verwenden Sie eine Codierung wie base64 .
remote.example.net $ base64 <myfile
(kopiere die Ausgabe)
local.example.net $ base64 -d> myfile (
füge
den Inhalt der Zwischenablage ein)Ctrl +D
Wenn Sie die X-Weiterleitung aktiviert haben, kopieren Sie die Datei bequemer auf den Remote-Computer und fügen Sie sie lokal ein. Sie können Daten in und aus xclip
oder leiten xsel
. Wenn Sie den Dateinamen und die Metadaten beibehalten möchten, kopieren Sie ein Archiv und fügen Sie es ein.
remote.example.net$ tar -czf - myfile | xsel
local.example.net$ xsel | tar -xzf -
scp file.foo user@myclient.com:file.foo
: P