Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
sysadmin:tips:ssh [2010/12/13 10:51] james ajout shell interne foward de port |
sysadmin:tips:ssh [2017/10/27 17:53] (Version actuelle) james ajout fix fermeture connexion ssh systemd halt/reboot |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag>SSH verification clef forward port keepalive}} | ||
====== SSH ====== | ====== SSH ====== | ||
Ligne 5: | Ligne 6: | ||
==== Dire a SSH ne ne pas vérifier la clef de l'hote localhost ==== | ==== Dire a SSH ne ne pas vérifier la clef de l'hote localhost ==== | ||
- | Si comme moi vous êtes friands de tunnels SSH et/ou que vous changez fréquemment de machine en utilisant le même homedir (NFS par exemple), SSH se plaind que la clef a changé, ce qui vous oblige a la supprimer du fichier ~/.ssh/known_hosts.\\ La solution est de rajouter dans votre configuration SSH //NoHostAuthenticationForLocalhost yes// | + | Si comme moi vous êtes friands de tunnels SSH et/ou que vous changez fréquemment de machine en utilisant le même homedir (NFS par exemple), SSH se plaint que la clef a changé, ce qui vous oblige a la supprimer du fichier ~/.ssh/known_hosts.\\ La solution est de rajouter dans votre configuration SSH //NoHostAuthenticationForLocalhost yes// |
<code>echo "NoHostAuthenticationForLocalhost yes">> ~/.ssh/config</code><note important>Cela diminue bien sur la sécurité concernant l'accès aux machines accédées par "ssh localhost" : machines locales et machines accédées via tunnel</note> | <code>echo "NoHostAuthenticationForLocalhost yes">> ~/.ssh/config</code><note important>Cela diminue bien sur la sécurité concernant l'accès aux machines accédées par "ssh localhost" : machines locales et machines accédées via tunnel</note> | ||
+ | |||
+ | ==== Dire a SSH ne se connecter malgré que la clef ne soit pas celle qu'on attend ==== | ||
+ | |||
+ | <note warning>Attention, n'utilisez ceci (surtout couplé a une authentification par mot de passe) uniquement si vous êtes **certains** que vous communiquez avec la bonne machine</note> | ||
+ | |||
+ | Il peut etre utile, par exemple lorsqu'on démarre une machine sur un liveCD pour s'y connecter en SSH de completement désactiver temporairement la vérification de clef : la clef connue ne correspond alors pas a la clef habituelle de la machine. Pour ce faire, on peut utiliser la comande suivante pour se connecter : | ||
+ | <code>ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no utilisateur@machine.mondomaine.com</code> | ||
+ | |||
+ | Comme toujours avec SSH il est possible d'activer ces options par machine dans le fichier ~/.ssh/config, en y ajoutant par exemple :<code> | ||
+ | Host machine | ||
+ | Hostname machine.mondomaine.com | ||
+ | User utilisateur | ||
+ | HostKeyAlias machine | ||
+ | StrictHostKeyChecking no | ||
+ | UserKnownHostsFile /dev/null | ||
+ | </code> | ||
==== Eviter les deconnexions automatiques en simulant de l'activité reseau ==== | ==== Eviter les deconnexions automatiques en simulant de l'activité reseau ==== | ||
Ligne 49: | Ligne 66: | ||
<note important>Attention, il faut que le caractère d'échappement soit tapé au **début** d'une ligne, le plus simple pour en être sûr est donc d'appuyer avant sur la touche entrée, ce qui nous donne donc par exemple "Entree", "Alt Gr+2", "Shift+?" pour afficher l'aide.</note> | <note important>Attention, il faut que le caractère d'échappement soit tapé au **début** d'une ligne, le plus simple pour en être sûr est donc d'appuyer avant sur la touche entrée, ce qui nous donne donc par exemple "Entree", "Alt Gr+2", "Shift+?" pour afficher l'aide.</note> | ||
+ | |||
+ | |||
+ | ===== serveur SSH ===== | ||
+ | {{tag>SSH halt reboot connexion hang systemd jessie}} | ||
+ | |||
+ | ==== sshd et systemd sont dans un bateau ==== | ||
+ | Suite au passage plus ou moins volontaire a systemd, par exemple en mettant a jour votre Debian en stretch, il arrive souvent que lorsqu'on fait un halt/reboot de machine, le SSH ne rende pas la main avant que ca tranche inexorablement. | ||
+ | |||
+ | |||
+ | Pour fermer la sessions SSH proprement automatiquement : | ||
+ | en gros systemd essaye de tout fermer le plus rapidement possible, et dans son infinie précipitation il coupe d'abord le réseau avant de penser à fermer ce qui l'utilisait : par exemple les sessions SSH qui ne pourront donc plus se fermer correctement ... sans réseau. | ||
+ | |||
+ | Du coup pour avoir une fermeture correcte de tout le bousin, il faut que systemd-logind soit tenu au courant (via dbus) que la session SSH doit etre fermée. | ||
+ | |||
+ | En un mot il faut donc installer //libpam-systemd// et //dbus// , ce qui peut se faire grâce a la commande suivante :<code># apt-get install libpam-systemd dbus</code> | ||
+ | |||
+ | |||