Comment accepter automatiquement la clé distante lors de la rsyncing?

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 installe des clés SSH, ce qui fonctionne correctement.

Mon problème est que lorsqu'il tente de se connecter au serveur pour la première fois, il vous 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
27
demandé sur the Tin Man 2013-08-08 14:22:55

3 réponses

S'ils sont vraiment nouveaux hôtes, et vous ne pouvez pas ajouter les clés à known_hosts au préalable (voir York.Réponse de Sar), alors vous pouvez utiliser cette option:

- e "SSH-O StrictHostKeyChecking=no"

28
répondu Brian Agnew 2018-01-08 12:42:12

Vous pouvez ajouter la clé de cet hôte à known_hosts à l'avance comme ceci:

ssh-keyscan $someip >> ~/.ssh/known_hosts
48
répondu Yorik.sar 2013-08-08 11:06:23

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 ou l'autre de ces solutions au milieu d'un script Vagabond pour fonctionner correctement pour moi. J'ai donc voulu mettre ici la méthode que j'ai trouvée ailleurs .

La solution ici parle de mettre à jour le fichier ~/.ssh/config ou /etc/ssh/ssh_config avec les blocs de code suivants.

Pour désactiver la vérification de clé d'hôte pour un hôte particulier (par exemple, remote_host.com):

Host remote_host.com
    StrictHostKeyChecking no

Pour tourner désactiver la vérification de la clé hôte pour tous les hôtes auxquels vous vous connectez:

Host *
    StrictHostKeyChecking no

Pour éviter la vérification de la clé hôte, et ne pas utiliser le fichier known_hosts pour 192.168.1.* sous-réseau:

Host 192.168.0.*
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null

J'espère que cela aidera quelqu'un d'autre qui se heurte à ce problème.

5
répondu Iwnnay 2017-01-12 15:31:04