SSH authentification

EdgeOS : authentification SSH sans mot de passe

Installer sa clé SSH et se connecter sans mot de passe sur EdgeOs.

SSH authentification

Pré-requis : avoir créé une clé SSH. Google est votre ami, possible avec Windows, OSX, Linux, etc…
Des pistes pour windows ici, pour OSX/Linux un terminal et « ssh-keygen -t rsa » feront l’affaire.
Il est recommandé de créer une clé avec mot de passe.
Ceci ne change rien à l’accès GUI, uniquement le SSH.

Copier la clé publique sur le routeur.
Sous OSX/Linux c’est possible directement depuis le terminal :

scp ~/.ssh/id_rsa.pub c0mm0n@192.168.1.1:~/id_rsa.pub

Ou la transférer par SFTP depuis n’importe quel OS. Il faut la copier dans le dossier « /home/USER ». Remplacer « USER » par l’utilisateur du routeur pour lequel vous ajoutez cette méthode.

Se connecter en SSH sur le routeur puis, vérifier la clé, elle doit s’afficher.

cat ~/id_rsa.pub

Entrer en mode configuration

configure

Charger la clé pour l’utilisateur souhaité

loadkey c0mm0n ~/id_rsa.pub

Sauvegarder et quitter

commit
save
exit

Vérifier en se connectant à nouveau en SSH, plus besoin de mot de passe :-)

SSH authentification clé sans mot de passe

Optionnel, désactiver l’authentification par mot de passe.

set service ssh disable-password-authentication

Remarques
– La clé est stockée dans votre config.boot, vous pouvez supprimer le fichier original. Elle survivra, en conséquence à une mise à jour d’OS.
– Avec une authentification par mot de passe désactivée, vous pouvez assez sereinement ouvrir le SSH sur le WAN.
– Il est possible de transférer votre clé sur d’autres terminaux, et de bénéficier de l’accès sans mot de passe sur mobile, tablette, etc…
– Si vous souhaitez garder l’authentification par mot de passe uniquement pour le LAN. Il faudrait modifier la configuration de SSHd (/etc/ssh/sshd_config) et les lignes à ajouter pourraient ressembler à ca :

PasswordAuthentication no

Match address 192.168.1.0/24
    PasswordAuthentication yes

c0mm0n

Chasseur de livebox. Mangeur de Vlans.