J'essaie de créer un système qui copie automatiquement les fichiers d'un serveur vers plusieurs serveurs. Dans le cadre de cela, j'utilise rsync et j'installe des clés SSH, ce qui fonctionne correctement.
Mon problème est que lorsqu'il tente de se connecter à un nouveau serveur pour la première fois, il demandera une confirmation. Existe-t-il un moyen d'accepter automatiquement?
Exemple de commande/sortie:
rsync -v -e ssh * root@someip:/data/
The authenticity of Host 'someip (someip)' can't be established.
RSA key fingerprint is somerandomrsakey.
Are you sure you want to continue connecting (yes/no)? yes
S'ils sont véritablement sont de nouveaux hôtes et que vous ne pouvez pas ajouter les clés à known_hosts
au préalable (voir la réponse de York.Sar), vous pouvez alors utiliser cette option:
-e "ssh -o StrictHostKeyChecking = no"
Vous pouvez ajouter au préalable la clé de cet hôte aux hôtes connus comme ceci:
ssh-keyscan $someip >> ~/.ssh/known_hosts
Je sais que cela a été demandé il y a 3 ans, mais c'était au sommet de ma recherche Google et je n'ai pas pu obtenir l'une de ces solutions au milieu d'un script Vagrant pour fonctionner correctement pour moi. Je voulais donc mettre ici la méthode que j'ai trouvée ailleurs .
La solution là-bas parle de mettre à jour le ~/.ssh/config
ou /etc/ssh/ssh_config
fichier avec les blocs de code suivants.
Pour désactiver la vérification des clés d'hôte pour un hôte particulier (par exemple, remote_Host.com):
Host remote_Host.com
StrictHostKeyChecking no
Pour désactiver la vérification de la clé d'hôte pour tous les hôtes auxquels vous vous connectez:
Host *
StrictHostKeyChecking no
Pour éviter la vérification de la clé de l'hôte et ne pas utiliser le fichier known_hosts pour le sous-réseau 192.168.1. *:
Host 192.168.0.*
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
J'espère que cela aide quelqu'un d'autre qui rencontre ce problème.