web-dev-qa-db-fra.com

échec de la vérification de la clé de l'hôte scp pour la copie distante vers distante

scp foo user@remote:bar fonctionne bien

scp user@remote:foo bar fonctionne bien

scp user@remote:foo user@remote:bar échoue avec une erreur:

Host key verification failed.
lost connection

Je suppose que c'est parce que scp interdit la copie distante à distante (entre deux hôtes distants différents ou le même hôte distant) car il est inefficace de canaliser les données de point A à point L à point B plutôt que directement de point A à point B.

Est-ce la bonne raison pour laquelle cela ne fonctionne pas? Comment se fait-il que les instructions d'utilisation de la ligne de commande dans le manuel ne le documentent pas? Ou est-ce juste que le scp spécifique sur ma distribution Ubuntu essaie d'être paternel?

29
necromancer

Ça marche. Votre problème est l'authentification SSH entre user @ remote et user @ remote. S'il s'agit du même utilisateur sur le même serveur et que vous utilisez l'authentification RSA, vous devez ajouter la clé publique (~/.ssh/id_rsa.pub) dans ~/.ssh/authorized_keys de l'utilisateur lui-même.

Faites également attention à la résolution des noms. Dans votre cas, "distant" peut être un nom de serveur qui a du sens pour votre client, mais qui n'a pas de sens du point de vue distant. Utilisez l'IP du serveur (si le serveur n'est pas derrière nat) ou définissez un nom de serveur commun dans/etc/hosts sur votre machine client et serveur: "distant" devrait être résoluble depuis votre client et votre machine serveur.

17
dAm2K

Découvrez l'option:

-3: les copies entre deux hôtes distants sont transférées via l'hôte local. Sans cette option, les données sont copiées directement entre les deux hôtes distants. Notez que cette option désactive le compteur de progression.

Cette option est devenue disponible dans OpenSSH 5.7

53
OleTraveler

"Il est important de noter que SCP ne peut pas être utilisé pour copier à distance de la source vers la destination lors d'un fonctionnement en mode d'authentification par mot de passe ou clavier interactif, car cela révélerait les informations d'authentification du serveur de destination à la source." http://en.wikipedia.org/wiki/Secure_copy#Remote_to_remote_mode

Essayez d'utiliser l'authentification par clé pour retirer un scp distant à distant.

2
Worldcrafter