Je souhaite automatiser la génération d'une paire de clés ssh à l'aide du script Shell sur Centos7, et j'ai essayé
yes "y" | ssh-keygen -t rsa
echo "\n\n\n" | ssh-keygen...
echo | ssh-keygen..
toutes ces commandes ne fonctionnent pas, il suffit de saisir un 'enter' et le script Shell s'est arrêté sur "Enter passphrase (empty for no passphrase)", je veux juste savoir comment simuler plusieurs 'enter' dans Shell en continu.
Merci beaucoup si quelqu'un peut vous aider!
Entrez simplement un laissez-passer nul en utilisant -N
drapeau:
ssh-keygen -t rsa -N ""
De homme page:
-N new_passphrase Provides the new passphrase.
Pour remplacer id_rsa
yes y |ssh-keygen -q -t rsa -N '' >/dev/null
Si vous ne souhaitez pas demander à l'utilisateur un fichier dans lequel enregistrer la clé, vous pouvez ajouter un indicateur de sortie de fichier -f
à la commande.
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
De cette façon, l'utilisateur ne sera invité à aucune entrée - à moins que id_rsa fichier (s) existe déjà.
Pour moi, j'ai dû utiliser à la fois la réponse @Lukasz et @Juan one, lors de l'utilisation de la commande ssh
ssh -p$SSH_PORT -q joker@$INSTANCE_IP 'yes y | ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa'