J'ai lu et suivi de la documentation en ligne sur la façon de configurer un agent ssh afin de ne pas avoir à taper de mot de passe chaque fois que je ssh vers une machine distante.
Cependant, avec l'aide de ssh-agent , je dois encore le faire à ssh-add
chaque redémarrage du shell. Le ssh-add
me demande ensuite d'entrer la phrase secrète pour déverrouiller la clé privée.
Enter passphrase for key '/home/xx/.ssh/id_rsa':
Au lieu de taper mon mot de passe pour la machine distante, on me demande de taper le mot de passe de la clé privée. C'est comme sortir d'un purgatoire et me retrouver dans un enfer après. Il semble que l'id_rsa ne soit ajouté que temporairement à l'agent ssh dans une session , car chaque fois que je me connecte et que je tape ssh-add -l
. Je reçois:
The agent has no identities.
Puis-je demander comment stocker définitivement la clé (id_rsa) dans ssh-agent? Merci
EDIT: c'est ce que j'ai fait avec ssh-agent
. J'ai ajouté le bloc suivant dans~/.bash_profile
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "SSHAGENT" ]; then
eval `$SSHAGENT $SSHAGENTARGS`
trap "kill $SSH_AGENT_PID" 0
fi
ssh-add
a un effet qui dure plus longtemps que la fenêtre shell que vous avez tapée.ssh-agent
dans le post.Réponses:
J'ai installé le trousseau.
sudo apt-get install trousseau
Si vous exécutez bash, vous devez ajouter quelques commandes à votre .bash_profile. Si vous n'en avez pas, créez-en une dans votre dossier personnel. Ajoutez ces lignes:
Au début d'une journée de travail, je me connecterai. Lorsque j'ouvre un terminal, je serai invité une fois à saisir ma phrase secrète. Pour tous les autres nouveaux terminaux et connexions, on ne me demandera plus ma phrase secrète.
la source
ssh-add
dans le terminal?Ce que vous recherchez est moins sûr, mais il peut être accompli en utilisant l'authentification par clé publique sans avoir besoin de ssh-agent. Une option plus sécurisée consiste à utiliser l'authentification par clé publique avec une phrase secrète tout en désactivant l'authentification par mot de passe sur le serveur ssh, mais ce n'est pas ce que vous avez demandé. Consultez le lien au bas de cette réponse pour obtenir des instructions si vous décidez de le faire à la place.
Pour utiliser ssh sans qu'on vous demande de phrase secrète, vous devez générer votre paire de clés tout en laissant le champ de phrase secrète vide.
Pour vérifier si vous avez déjà généré une paire de clés, recherchez les fichiers id_rsa et id_rsa.pub dans votre répertoire ~ / .ssh. S'ils sont déjà là, vous pouvez les supprimer ou les déplacer pour créer une nouvelle paire de clés.
Notez que si vous les supprimez, vous perdrez l'accès aux serveurs ssh que vous utilisez, puis aux anciennes clés pour vous authentifier si l'authentification par mot de passe est désactivée sur le serveur.
Pour créer une nouvelle paire de clés, exécutez la commande suivante:
Acceptez l'emplacement par défaut des clés et laissez la phrase secrète vide.
Pour donner votre clé publique au serveur ssh auquel vous souhaitez vous connecter, utilisez la commande suivante:
Après avoir terminé ces étapes, vous pourrez vous connecter au serveur distant sans mot de passe de l'ordinateur que vous utilisez.
Référence: http://tombuntu.com/index.php/2008/02/20/public-key-authentication-for-ssh-made-easy/
la source
Il y a quelque temps, j'ai soudainement commencé à me demander une phrase secrète pour déverrouiller ma clé ssh lors de la procédure
git push
. Il s'est avéré que pour ne plus être invité à saisir une phrase secrète, il suffisait d'ajouter SSH Key Agent (GNOME Keyring: SSH Agent) aux applications de démarrage (dans mon cas - juste pour cocher la case):la source