Je rencontre un problème lorsque j'exécute simplement ces commandes.
Le serveur distant souhaite passer yes
pour ajouter la clé dans le fichier RSA car la première connexion est établie avec scp
.
les commandes sont données ci-dessous
#!/bin/bash
scp -P58222 root@IP:/root/K /N
/usr/bin/expect -c 'expect "\n" { expect "Are you sure you want to continue connecting (yes/no)?" }'
send "yes\r"
expect "$ "
send "exit\r"
En fait, je dois passer oui dans mon script en demandant
L'authenticité de l'adresse IP (adresse IP) de l'hôte ne peut pas être établie.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)?
Voulez-vous vraiment continuer à vous connecter (oui/non)?
comment puis-je me débarrasser de ce problème?
avec
scp -o StrictHostKeyChecking=no
c'est toujours demander.
scp -o StrictHostKeyChecking=no root@IP:/root/K
De toute évidence, ce n'est pas une solution très sécurisée. Fonctionne pour les plans uniques où vous ne vous souciez pas de l'homme au milieu.
Pour moi, cela fonctionne:
yes | scp -r /opt/MyFiles root@<MyNewServerIP>:/opt/MyFiles
Cordialement. =)
La meilleure façon de procéder serait probablement d'utiliser la commande suivante avant votre commande scp:
ssh-keyscan -H ${SSH_Host} >> ~/.ssh/known_hosts
Cela ajoutera SSH_Host à vos hôtes connus et scp
ne se plaindra pas.