net:ssh

Utiliser des clefs avec ssh

Créer des clefs pour vous connecter vos serveurs en SSH et, par sécurité, interdire la connexion par mot de passe.

Tapez simplement sur la machine cliente, depuis votre session utilisateur:

$ ssh-keygen -t ed25519  -f ma_clef_ca

Vous allez obtenir deux fichiers, que vous pouvez consulter par curiosité:

  1. ma_clef_ca, clef privée à conserver dans ~/.ssh
  2. ma_clef_ca.pub, clef publique à communiquer sur la cible

Par défaut, le commentaire de la clef publique sera utilisateur@machine.tds, vous pouvez le changer avec l'option -C.

Copiez la clef publique sur le serveur et ajoutez dans la liste des clefs autorisées de l'utilisateur cible:

$ cat ma_clef_ca.pub >> ~david/.ssh/authorized_keys

Supprimez ensuite le fichier contenant clef publique.

Ou, puisque vous savez maintenant ce qu'il faut obtenir, utilisez le racourci copy-id.

N'autorisez que la connexion par clefs, pour le serveur sshd(8):

/etc/ssh/sshd_config
PasswordAuthentication no
PermitEmptyPasswords no

# Change to no to disable PAM authenticati pub 
ChallengeResponseAuthentication no

Connexion

Il suffit d'appeler la connexion normalement, ou, si vous avez multiplié les utilisateurs et les clefs:

$ ssh -i ~toto/.ssh/id_rsa_bidule  toto@farfaraway.ddns.net

Vous allez probablement multiplier les clients et les cibles. Pour vous y retrouver, créer dès le premier usage une entrée dans le fichier de configuration ssh, ssh_config(5), de votre utilisateur:

Host git.lapinbilly.eu
	HostName poypoy.lapinbilly.eu
	IdentityFile ~/.ssh/clef_ed
	port 6666
  • net/ssh.txt
  • Dernière modification: 2020/05/24 13:11
  • de david