Il y a beaucoup d'informations contradictoires que je lis lorsque je cherche des informations sur l'utilisation ssh-agent
(processus de sauvegarde/réutilisation de la phrase de passe) sous Mac OS X. La plupart des ressources semblent suggérer que le simple fait d'émettre ssh-add -K
vous permettra de stocker votre phrase de passe, et configurera automatiquement OS X pour lancer ssh-agent
automatiquement et charger votre phrase de passe stockée.
Note : Running ssh-add -K
ne fonctionnera que si vous avez votre fichier de clé privée dans l'un des emplacements communs, ces emplacements étant limités à : ~/.ssh/id_rsa
, ~/.ssh/id_dsa
, ~/.ssh/identity
. Si le fichier est situé ailleurs, vous devez spécifier ce chemin après le -K dans la commande ci-dessus.
La raison pour laquelle vous obtenez la boîte de dialogue de phrase de passe du fichier de clé lorsque vous vous connectez au second serveur (sans clé) est probablement due au fait que la configuration par défaut des serveurs SSH utilise d'abord l'authentification par clé publique, puis l'authentification par clavier interactif.
Parce que vous avez une clé publique avec un nom/emplacement standard ( ~/.ssh/id_rsa
), votre client OpenSSH soumet la clé privée afin de permettre au serveur de la comparer à une clé privée autorisée. authorized_keys
fichier.
Il existe une petite poignée de moyens d'empêcher cela, les plus simples étant de passer un drapeau sur la ligne de commande, ou de l'ajouter en tant qu'élément de configuration permanent dans votre système d'exploitation. ~/.ssh/config
fichier.
-
Lors de la connexion au serveur secondaire/sans clé, vous pouvez ajouter -o "PubkeyAuthentication=no" lors de la connexion. Quelque chose comme ssh -o "PubkeyAuthentication=no" me@devserver2
.
-
Ouvrez ~/.ssh/config
dans votre éditeur de texte préféré, créez-le d'abord si vous le devez, et entrez ce qui suit :
Host devserver2
User me
PubkeyAuthentication no
Maintenant, si vous tapez simplement ssh devserver2
le nom d'utilisateur et la configuration de la clé publique seront lus et utilisés, et vous devriez être invité à saisir votre mot de passe et rien d'autre.
( Note : Remplacez devserver2 par le nom d'hôte réel du serveur. Sinon, choisissez un nom d'hôte agréable, comme devserver2, et ajoutez une propriété entre User et PubkeyAuthentication appelée 'Hostname' et mettez-y le nom ou l'adresse IP du serveur. Ensuite, vous pouvez en fait simplement taper 'ssh devserver2' et toutes les propriétés de configuration feront leur magie respective).