43 votes

Comment ajouter définitivement une identité pour SSH ?

Je dois exécuter ssh-add chaque fois que je dois me connecter en ssh à un serveur web. Y a-t-il un moyen d'ajouter l'ID de manière permanente, afin de ne pas avoir à ajouter les identités à chaque connexion ?

ÉDIT : La clé est un fichier pem, que j'ai téléchargé depuis un service de cloud.

42voto

Redbaron Points 523

Générer votre clé comme d'habitude: ssh-keygen, puis placer cette clé sur le serveur distant avec ssh-copy-id, ce qui la synchronisera avec les clés acceptées par le serveur distant.

ssh-keygen
ssh-copy-id user@host

Il vous demandera votre mot de passe puis effectuera toutes les étapes nécessaires pour lier votre clé .pub avec le serveur SSH distant.

Par défaut, il copiera toutes vos clés .pub sur le serveur distant. Si vous venez de créer votre clé avec ssh-keygen, cela ne pose pas de problème (car vous en avez seulement une!). Cependant, si vous avez plusieurs clés, vous pouvez copier juste une clé spécifique avec le drapeau -i.

ssh-copy-id -i ~.ssh/nom_de_la_clé.pub user@host

Remplacez nom_de_la_clé.pub par le nom de la clé.

15voto

user626052 Points 151

Mettez ceci dans votre ~/.bashrc

eval $(ssh-agent)
ssh-add ~/.ssh/ou_se_trouve_la_clé_privée

7voto

Nicholas1024 Points 4117

Vous pouvez générer une clé ssh avec la commande :

ssh-keygen

Ensuite, vous pouvez copier votre clé sur le serveur avec :

ssh serveruser@servername "echo `cat ~/.ssh/id_dsa.pub` >> ~/.ssh/authorized_keys" 

Maintenant, vous pouvez vous connecter automatiquement à votre serveur web

3voto

Gavin Points 130

Si votre clé est sans mot de passe et nommée comme l'un des fichiers que ssh essaiera de chercher lors de l'identification (~/.ssh/id_dsa ou ~/.ssh/id_rsa), vous ne devriez pas avoir à l'ajouter à votre agent.

MAIS. S'il y a la moindre possibilité que ces fichiers soient volés, vous venez de permettre à n'importe qui d'accéder aux serveurs sur lesquels vous utilisez cette identité. En bref, pwned.

À mon avis, les clés privées sans mot de passe sont une mauvaise pratique et ne devraient être utilisées que dans des environnements où ~/.ssh/authorized_keys est très restrictif.

1voto

hgolov Points 157

Écrivez un court script shell qui exécutera ssh-add puis se connectera comme suit :

ssh-add ~/.ssh/your-key
ssh user@remotehost

Vous pouvez ensuite vous connecter à votre hôte avec une seule commande.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X