Doc /

Authentification par clé avec ssh

Configuring a small home server in 2021 with openSUSE Leap 15.3

Créer les clés

Sur le client (station de travail), sur votre compte, créez une clé si ce n'est pas déjà fait. Si vous ne voulez pas taper la "pass phrase" à chaque fois, laissez-la vide, mais gardez secrète la clé privée. L'utilisateur distant peut être root si c'est autorisé dans ssh par le serveur.

    $ mkdir -p ~/.ssh  #s'il n'existe pas déjà
    $ chmod 700 ~/.ssh
    $ cd ~/.ssh
    $ ssh-keygen -t dsa #ou rsa qui peut être un peu meilleure

Vous obtenez une paire de clés dans le répertoire .ssh, une id_rsa (ou id_dsa) privée et à ne communiquer sous aucun prétexte, et une id_dsa.pub (or rsa), "pub", donc publique, que vous devez communiquer pour mettre en place la liaison.

Copier la clé publique vers l'appareil distant

La meilleure méthode est de faire:

ssh-copy-id -i /home/<user>/.ssh/id_dsa.pub <remote-user>@server-name

ou <user>est votre login (le nom de votre répertoire home), <remote-user> le nom d'utilisateur sur l'autre appareil (pas forcément le même que sur votre appareil), <server name> le nom ou l'IP de la machine distante.

Cela copie votre clé privée sur la machine distante avec les bonnes permissions et dans le bon répertoire. Vous aurez à donner votre mot de passe pour la seule et unique fois. Vous aurez aussi un message, lisez-le.

Désactiver le mot de passe

Quand vous êtes sur que ça marche, vous pouvez désactiver le mot de passe, ou le modifier pour un mot de passe très compliqué stocké dans un endroit sûr.

Dans /etc/ssh/sshd.conf,

PasswordAuthentication no

Mais vous ne pourrez plus vous connecter depuis un autre appareil...

Configuring a small home server in 2021 with openSUSE Leap 15.3