scp remoteA:Datei remoteB:

scp remoteA:Datei remoteB:

mit scp kann ich eine Datei abrufen

 scp remoteA:file .

und legen Sie eine Datei

 scp file remoteB:

aber wenn ich versuche

 scp remoteA:file remoteB:

Ich bekomme

ssh: Could not resolve hostname remoteB: Name or service not known
lost connection

Warum?

BEARBEITEN:

Die Beschreibung von remoteA und remoteB befindet sich in ~/.ssh/config

Antwort1

wahrscheinlich nicht mit scp selbst verbunden, sondern mit einer Art Namensauflösung von einem Host zum anderen. Ein weiterer zu berücksichtigender Punkt ist die Authentifizierung. Am besten ist es, wenn Sie eine Schlüsselauthentifizierung ohne Passphrase von A nach B haben. In welcher .ssh/config-Datei welches Hosts definieren Sie diese Hosts? scp findet diese Definition nicht. Versuchen Sie es mit dem echten FQDN des Hosts, dann sollte es funktionieren, falls die Hostdefinition das Problem ist. Verwenden Sie außerdem -v, um zu sehen, ob weitere Details zu dem Fehler gefunden werden können.

Antwort2

Sie müssen einen Host angeben, der remoteAerreichbar ist, da die Kopie von remoteAdirekt nach erstellt wird remoteB.

Um dies zu vermeiden, können Sie die -3Option verwenden. man scpSie sagt, was sie bewirkt:

Kopien zwischen zwei Remote-Hosts werden über den lokalen Host übertragen. Ohne diese Option werden die Daten direkt zwischen den beiden Remote-Hosts kopiert. Beachten Sie, dass diese Option die Fortschrittsanzeige deaktiviert.

Antwort3

Für diejenigen, die hierher kommen, weil scp eine lokale Datei als Hostnamen bezeichnet, den es nicht auflösen kann (eine weitere Quelle vonName oder Dienst nicht bekannt), wie zum Beispiel:

> scp archive_2017-03-01-09:54:02.tar.gz backupserver:/var/backups/
ssh: Could not resolve hostname archive_2017-03-01-09:54:02.tar.gz: Name or service not known

Problemumgehung:

> scp ./archive_2017-03-01-09:54:02.tar.gz backupserver:/var/backups/

verwandte Informationen