J'essaye de copyr des files d'un server directement à l'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 possible? Comment puis-je le réparer?
Quelque chose que j'utilise assez souvent quand il n'y a pas de connection possible entre les deux servers
scp -3 user@server1:/path/to/file user@server2:/path/to/file
la source
-3 Les copys entre deux hôtes distants sont transférées via l'hôte local. Sans cette option, datatables sont copiées directement entre les deux hôtes distants. Notez que cette option désactive le countur de progression.
En supposant que vous avez une bonne connection aux deux, ce n'est pas trop lent.
Oui c'est possible, mais seulement si server1.com
peut accéder à server2.com
en utilisant ce nom. Sinon, vous obtiendrez probablement un message: ssh: connect to host server2 port 22: Connection refused
La page de manuel de scp
indique clairement qu'elle copy entre les hôtes sur un réseau et que:
Les copys entre deux hôtes distants sont également autorisées.
Ce que vous devriez faire (une fois) est ssh
à [email protected]
et de là à ssh
à [email protected]
. Répondez à la question d'authenticité que vous obtiendrez avec Oui, pour vous débarrasser du message de vérification de key d'hôte tout en faisant le 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 réalisez le danger dans ce ( man ssh_config
)
Tout d'abord, vous devez vérifier que vous êtes capable de ssh sur server2 sans erreur, si vous obtenez la même erreur, ouvrez le file ~/.ssh/known_hosts
et searchz la key server2 et supprimez-la.
Ensuite, vérifiez si vous êtes en mesure d'envoyer une requête ping au server par le nom d'hôte
Sinon, éditez le file hôte du server comme indiqué ci-dessous
#vi /etc/hosts server1 192.186.xx server2 192.186.x.xx :wq ---> to save
Une fois que vous avez terminé avec ce cd à l'location du file que vous souhaitez copyr sur le server2
scp file_name user@server2:/path_to_the_directory
—> vous pouvez utiliser l'adresse IP au lieu du nom d'hôte que vous pouvez mentionner -R
pour copyr un directory.
Vérifiez que ~/.ssh/known_hosts
possède des loggings appropriés pour les deux servers
Vérifiez également si server1 possède l'logging ~/.ssh/known_hosts
pour le server2
Vous pouvez utiliser cette command ci-dessous pour copyr le file d'un server vers un autre:
scp source_user@source_remote_host:/usr/bin/mysql_backup.sh \ target_user@target_remote_host:/var/tmp/