J'essaie de copier des fichiers d'un serveur directement à un autre, en contournant mon ordinateur local.
J'ai fait
scp -r [email protected]:~/data/* [email protected]:~/data/
Password:
Host key verification failed.
lost connection
Est-ce seulement possible? Comment puis-je le réparer?
Quelque chose que j'utilise assez souvent lorsqu'il n'y a pas de connexion possible entre les deux serveurs
scp -3 user@server1:/path/to/file user@server2:/path/to/file
la source
-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.
En supposant que vous ayez une bonne connexion aux deux, ce n'est pas trop lent.
Oui, cela est possible, mais uniquement si server1.com
peut atteindre server2.com
en utilisant ce nom. Sinon, vous obtiendrez probablement un message: ssh: connect to Host server2 port 22: Connection refused
La page man
pour scp
indique clairement qu'elle copie entre les hôtes d'un réseau et que:
Les copies entre deux hôtes distants sont également autorisées.
Ce que vous devez faire (une fois) est ssh
à [email protected]
et de là ssh
à [email protected]
. Répondez à la question d'authenticité que vous obtiendrez par oui, pour vous débarrasser du message de vérification de la clé d'hôte tout en faisant scp
Vous devrez peut-être activer l'agent de transfert avec:
scp -o "ForwardAgent yes" -r [email protected]:~/data/* [email protected]:~/data/
Mais assurez-vous que vous vous rendez compte du danger que cela (man ssh_config
)
Tout d'abord, vous devez vérifier si vous êtes capable de passer à ssh vers server2 sans aucune erreur, si vous obtenez la même erreur, veuillez ouvrir le fichier ~/.ssh/known_hosts
et recherchez la clé server2 et supprimez-la.
Vérifiez ensuite si vous pouvez envoyer une requête ping au serveur par le nom d'hôte
Sinon, veuillez modifier le fichier hôte du serveur comme indiqué ci-dessous
#vi /etc/hosts
server1 192.186.x.x
server2 192.186.x.xx
:wq ---> to save
Une fois que vous avez terminé avec ce cd à l'emplacement du fichier que vous souhaitez copier sur le serveur2
le scp file_name user@server2:/path_to_the_directory
---> vous pouvez utiliser l'IP au lieu du nom d'hôte que vous pouvez mentionner -R
pour copier un répertoire.
Vérifier si ~/.ssh/known_hosts
avoir des enregistrements appropriés pour les deux serveurs
Vérifiez également si le serveur1 dispose de ~/.ssh/known_hosts
enregistrement pour server2