Die SCP-Verbindung wird nach dem Kopieren der Datei nicht geschlossen, während dies bei PSCP der Fall ist.

Die SCP-Verbindung wird nach dem Kopieren der Datei nicht geschlossen, während dies bei PSCP der Fall ist.

Hallo, ich habe eineInterNicheSSH-Server-Stack läuft auf benutzerdefinierter Hardware. Ich habe versucht, einige Dateien mit einem SCP-Befehl wie diesem vom Server auf den Client-PC zu kopieren, habe aber festgestellt, dass die Verbindung auch dann noch besteht, wenn ich die Datei gleichzeitig erhalten habe, und es funktioniert ohne Fehler. Ich habe das Gitbash-Terminal für die SCP- und PSCP-Befehle verwendet.scp [email protected]:\\path\\to\\file /local/file/pathpscp -scp [email protected]:\\path\\to\\file /local/file/path

Was ich nicht verstehe, ist, warum es einen Verhaltensunterschied zwischen beiden Befehlen gibt, tatsächlich aber auch pscpbei der Verwendung scpselbst. Hier ist das Debug-Protokoll für den PSCP-Befehl

$ pscp -scp -v [email protected]:\\demo\\test_1.txt /d/test_1.txt    
[email protected]'s password:
Using username "user".
Sent password
Access granted
Opening session as main channel
Opened main channel
Started a shell/command
test_1.txt                | 0 kB |   0.0 kB/s | ETA: 00:00:00 | 100%
Using SCP1
Connected to 192.168.1.12
Server sent command exit status 0
Disconnected: All channels closed

und hier ist für SCP

scp [email protected]:\\demo\\test_1.txt /d/test_1.txt
[email protected]'s password:
debug1: Authentication succeeded (password).
Authenticated to 192.168.1.12 ([192.168.1.12]:22).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: pledge: network
debug1: Sending command: scp -v -f \\demo\\test_1.txt
Sink: C0777 16 \demo\test_1.txt
\demo\test_1.txt                                                             100%   16     0.0KB/s   05:49    debug1: channel 0: free: client-session, nchannels 1
Killed by signal 2.

SCP connection remains open until I hit ctrl+c manually. Was hält die SCPVerbindung offen, auch nachdem die Datei kopiert wurde? Warum wird der Kanal nicht geschlossen?

Antwort1

Vielleicht ist der Computer, mit dem Sie über scp kommunizieren möchten, langsam ... wie lange haben Sie gewartet, bevor Sie STRG+C gedrückt haben? Manchmal ist scp langsam beim Schließen der Verbindung, insbesondere mit speziellen eingeschränkten Shells davor. Sie können versuchen, scp in den Hintergrund zu stellen und auf das Schließen zu warten (Strg+Z und bg). Sie können auch mit Timeouts oder Ähnlichem herumspielen, um das Warten auf das Schließen zu vermeiden (ich denke, das ist der Unterschied in der Konfiguration/Implementierung zwischen scp und pscp im Vergleich zu dem Verhalten, das Sie gezeigt haben).

verwandte Informationen