« Openssh » : différence entre les versions

De Wiki doc

Aucun résumé des modifications
Ligne 54 : Ligne 54 :
{{attention|Ceci désactive la vérification de la somme de contrôle des clés SSH. Ne faîtes ceci que si vous savez ce que vous faîtes car cela rend votre connexion plus senssible à des attaques [https://fr.wikipedia.org/wiki/Attaque_de_l'homme_du_milieu man in the middle].}}
{{attention|Ceci désactive la vérification de la somme de contrôle des clés SSH. Ne faîtes ceci que si vous savez ce que vous faîtes car cela rend votre connexion plus senssible à des attaques [https://fr.wikipedia.org/wiki/Attaque_de_l'homme_du_milieu man in the middle].}}
=Absence de broken pipe après un redémarrage=
=Absence de broken pipe après un redémarrage=
Sur une Debian 8 (Jessie), le fait de redémarrer une une machine alors que l'on est connecté en SSH sur celle-ci ne renvoi pas de broken pipe (la session n'est pas clôturée à l'extinction). Ceci est très ennervant car on se retrouve avec un terminal bloqué sur un prompt inactif et l'arrivé du fameux broken pipe se fait, dans le mieilleur des cas, attendre une bonne minute, dans le pire, pour toujours... Pour régler cette merde il suffit d'installer la librairie systemd qui gère se comportement et de redémarrer la machine
Sur une Debian 8 (Jessie), le fait de redémarrer une machine alors que l'on est connecté en SSH sur celle-ci ne renvoi pas de broken pipe (la session n'est pas clôturée à l'extinction). Ceci est très ennervant car on se retrouve avec un terminal bloqué sur un prompt inactif et l'arrivé du fameux broken pipe se fait, dans le meilleur des cas, attendre une bonne minute, dans le pire, pour toujours... Pour régler cette merde il suffit d'installer la librairie systemd qui gère se comportement et de redémarrer la machine.
  apt install libpam-systemd
  apt install libpam-systemd
  reboot
  reboot

Version du 16 avril 2017 à 16:52


Authentification par clef SSH

Au lieu de s'authentifier par mot de passe, les utilisateurs peuvent s'authentifier grâce à la cryptographie asymétrique et son couple de clefs privée/publique, comme le fait le serveur SSH auprès du client SSH.

Générer ses clefs

Pour générer un couple de clefs, tapez sur le client:

ssh-keygen -t ed25519

Ensuite, il faut envoyer le fichier ~/.ssh/id_ed25519.pub du client sur le serveur, tapez sur le client:

scp /home/user/.ssh/id_ed25519.pub USER@SERVEUR:/home/user/.ssh/authorized_keys

Déactiver l'authentification par mot de passe

Si nous voulons déactiver l'accès par mot de passe, il faut ajouter la ligne suivante au fichier /etc/ssh/sshd_config:

[...]
PasswordAuthentication no

Déactiver known hosts de SSH

Problème

Lors d'une exécution d'un script contenant du SSH, et lorsque vous avez changé une de vos machines sur la quelle vous vous connectez, ssh demande une intervention humaine:

The authenticity of host '192.168.1.2 (192.168.1.2)' can't be established.
ECDSA key fingerprint is XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX.
Are you sure you want to continue connecting (yes/no)?

Lorsque vous avez change l'ordinateur en gardant la même IP:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@       WARNING: POSSIBLE DNS SPOOFING DETECTED!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The RSA host key for foo-bar.net has changed,
and the key for the corresponding IP address 127.0.0.1
is unchanged. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
Offending key for IP in /home/user/.ssh/known_hosts:6
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Le problème avec cette intervention est que le script n'avance pas sans vous. Pour ma part, j'ai un script qui se lance lors d'une coupure électrique, sans mon intervention mon script qui permet l'extinction de mes machines virtuelles ne ce termine pas... c'est pas cool.

Résolution

Voici une solution que j'ai trouvé: il faut passer des paramètres a notre commande SSH:

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@192.168.1.2

ATTENTION

Ceci désactive la vérification de la somme de contrôle des clés SSH. Ne faîtes ceci que si vous savez ce que vous faîtes car cela rend votre connexion plus senssible à des attaques man in the middle.

Absence de broken pipe après un redémarrage

Sur une Debian 8 (Jessie), le fait de redémarrer une machine alors que l'on est connecté en SSH sur celle-ci ne renvoi pas de broken pipe (la session n'est pas clôturée à l'extinction). Ceci est très ennervant car on se retrouve avec un terminal bloqué sur un prompt inactif et l'arrivé du fameux broken pipe se fait, dans le meilleur des cas, attendre une bonne minute, dans le pire, pour toujours... Pour régler cette merde il suffit d'installer la librairie systemd qui gère se comportement et de redémarrer la machine.

apt install libpam-systemd
reboot