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 remoteA
erreichbar ist, da die Kopie von remoteA
direkt nach erstellt wird remoteB
.
Um dies zu vermeiden, können Sie die -3
Option verwenden. man scp
Sie 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/