La première fois, ssh-copy-id
il vous demandera
# ssh-copy-id -i .ssh/id_dsa.pub [email protected]
The authenticity of host 'example.com (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is 39:fb:5e:70:30:33:2b:18:17:e9:4f:2f:91:b5:d2:21.
Are you sure you want to continue connecting (yes/no)?
Est-il possible de l'écrire, donc le script répondra simplement oui?
Réponses:
Si votre
ssh-copy-id
ne prend pas en charge l'option StrictHostKeyChecking, vous pouvez écrire un script qui:ssh-keyscan
sur le serveur cible pour obtenir la clé publiquessh-copy-id
la source
SSH a une option pour ajouter automatiquement toutes les clés d'hôte au fichier d'hôtes de confiance:
Vous pouvez également effectuer les opérations suivantes:
Modifier : comme il semble que ces solutions ne fonctionnent pas
ssh-copy-id
, vous pouvez toujours créer un~/.ssh/config
fichier avec l'option suivante:Cela devrait fonctionner avec toutes les connexions SSH, qu'elles soient appelées via un script ou non.
la source
ssh-copy-id
n'a pas-o
ssh-copy-id -?
ssh-copy-id
est un script. Vous pouvez le modifier pour ajouter-o StrictHostKeyChecking=no
ou désactiver ce paramètre dans le fichier ssh_config.ssh-copy-id servername
fonctionne très bien.sudo sed -i.bak 's/ssh \$/ssh -o StrictHostKeyChecking=no \$/' $(which ssh-copy-id)
.Essaye ça:
il n'ajoute pas les clés d'hôte au fichier known_hosts mais vous permet de copier (ou d'ajouter) la clé publique à celle
authorized_keys
que vous souhaitez, si tel est le seul objectif ici.la source