Connexion SSH

De knowledge
Aller à la navigation Aller à la recherche

ssh (secure shell) est un protocole permetant l'acces à distance sur un serveur ou tout autre machine offrant une connexion shell.

Caractéristiques de cette connexion :

  • Chiffrement en SSL/TLS
  • Port TCP 22

Les protocoles côté client

Il peu se produire que le client n'accepte que certain algorithmes.

Unable to negotiate with 192.168.2.1 port 22: no matching host key type found. Their offer: ssh-rsa

il nous faut pour cela expliquer au client les protocoles à utiliser. Pour tout accepter on crée (ou au mets à jour) le fichier config dans le répertoire .ssh contenant

HostKeyAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa

Configuration spécifique à un serveur

On peut décider que, pour tel serveur, j'utiliserais un algorithme un peu ancien car le maitrise le risque. EN revanche je veux que le rester de mess connexions ssl soient correctement sécurisées.

Déclaration dans /etc/hosts

Si le serveur en question est sur le LAN que que nous ne connaissons que son IP... ne nous embêtons pas avec un DNS créons une simple entrée dans le fichier /etc/hosts (l'ancêtre du DNS :) )

# Ma section de /etc/hosts

10.10.2.1     router
10.10.2.183   printer1
10.10.2.182   printer2

On prendra comme exemple le routeur "router" qui accepte seulement ssh-rsa. Cependant, ma dernière Debian 12 "bookworm" (Raspberry PI) ne veut plus entendre parler de ssh-rsa. On va lui dire de faire une exception!

Host router
    HostKeyAlgorithms +ssh-rsa
    PubkeyAcceptedKeyTypes +ssh-rsa

Indique au client ssh que, pour router et seulement lui, on accepte le ssh-rsa.

Attention.png Attention le fichier ~.ssh/config ne doit être en acces limité à l'utilisateur.

chmod 600 ~/.shh/config

Connectivité par clés asymétriques

Une page dédiée existe car le problème est vaste.