ssh scp, um die Datei auf den Remote-Server-Port 21 zu kopieren

22

Ich versuche, eine Datei von meinem Server auf einen anderen zu kopieren, daher verwende ich den folgenden Befehl:

scp root@myhost /home/direc/file.tar username@secondhost:/home/dir

Ich erhalte den Fehler:

ssh: Zeitüberschreitung bei der Verbindung zum zweiten Host-Port 22

Ich weiß, es könnte daran liegen, dass Port 22 auf dem zweiten Host nicht geöffnet ist

Wie übertrage ich, indem ich Port 21 auf meinem zweiten Host spezifiziere?

user1613566
quelle

Antworten:

33

Versuchen

scp -P 21 root@myhost /home/direc/file.tar username@secondhost:/home/dir

Wobei -P für die Portnummer steht.

Amol Sale
quelle
1
Ich weiß das, aber es gibt den Port für den ersten Host an, von dem ich Dateien kopieren möchte, nicht den zweiten Host. Also gebe ich Port 21 für den zweiten Host an
user1613566
4

Ich sehe zwei Fehler in Ihrem Versuch und der Antwort.

1) scp ist ein Secure Shell (ssh) -Dienstprogramm zum sicheren Kopieren von Dateien zwischen Hosts. Es verwendet ssh für die Datenübertragung und verwendet die gleiche Authentifizierung und bietet die gleiche Sicherheit wie ssh (siehe scp-Manpage). Standardmäßig verwendet ssh Port 22. Wenn Sie also die Standardportnummer für ssh auf dem Zielserver nicht in 21 geändert haben oder den ssh-Server (sshd) auf dem empfangenden Server nicht installiert und gestartet haben, können Sie scp nicht zum Kopieren verwenden Dateien.

2) Die richtige Befehlszeile aus Ihrem Beispiel sollte lauten:

scp -P '*port running ssh on destination server*' /home/direc/file.tar username@remotehost:/home/dir

Die erste root@myhostist nicht erforderlich und versucht tatsächlich, eine Datei mit dem Namen root@myhost(die höchstwahrscheinlich nicht existiert) und file.tar auf den Zielserver zu kopieren. Sie werden höchstwahrscheinlich die folgende Nachricht erhalten:

root@myhost: No such file or directory during the copy.
Tim
quelle