diff --git a/HowtoOpenSSH.md b/HowtoOpenSSH.md index 9b62416e..db9397f1 100644 --- a/HowtoOpenSSH.md +++ b/HowtoOpenSSH.md @@ -5,10 +5,10 @@ title: Howto OpenSSH * Documentation : -SSH est un protocole permettant de se connecter sur une machine -à travers le réseau de manière sécurisée. Nous utilisons -l'implémentation la plus répandue : -[OpenSSH](https://www.openssh.com/). Ce protocole existe en plusieurs +[OpenSSH](https://www.openssh.com/) est l'implémentation la plus répandue du protocole SSH permettant de se connecter sur une machine à travers le réseau de manière sécurisée. +OpenSSH fait partie du projet [OpenBSD](HowtoOpenBSD) et permet de nombreuses fonctionnalités : SFTP, gestion de clés, tunnels, VPN, etc. + +Ce protocole existe en plusieurs versions et nous utilisons uniquement la version 2. La version 1 comporte des failles de sécurité et ne doit plus être utilisée. @@ -201,7 +201,7 @@ Pour augmenter la verbosité du sous-système sftp-server, notamment loguer les Subsystem sftp /usr/libexec/openssh/sftp-server -l INFO ~~~ -### SFTP chroot +## SFTP chroot Voici un ensemble de commandes pouvant être utilisé pour mettre en place un accès SFTP pour un ou plusieurs utilisateurs, qui n'auront accès qu'à une vue limitée de l'arborescence du système : @@ -239,9 +239,7 @@ Mettre shell `/usr/lib/sftp-server` pour l'utilisateur et s'assurer que ce shell # echo '/usr/lib/stfp-server' >> /etc/shells ~~~ -## Administration SSH - -### Créer une clé ssh +## Clé ssh Il y a plusieurs types de clé, avec suivant les algorithmes, des tailles de clés variables ou non. L'algorithme à préférer est @@ -369,51 +367,6 @@ auxquelles vous avez accès. On privilégiera donc d'utiliser l'option > **Note** : Il existe d'autres implémentations de l'agent SSH, tel que gpg-agent qui gère aussi les clés SSH. -### Obtenir l'empreinte de la clé publique du serveur - -~~~ -$ ssh-keygen -lf /etc/ssh/clé.pub -~~~ - -### Regénérer les clés du serveur - -#### Sous Debian : - -~~~ -# rm -i /etc/ssh/ssh_host_* -# dpkg-reconfigure openssh-server -Creating SSH2 RSA key; this may take some time ... -Creating SSH2 DSA key; this may take some time ... -Restarting OpenBSD Secure Shell server: sshd. -~~~ - -#### Sous OpenBSD : - -~~~ -# rm -i /etc/ssh/ssh_host_* -# ssh-keygen -A -ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519 -~~~ - -À noter que c'est fait à chaque boot (via */etc/rc*), si les clés -n'existent pas donc une autre solution est de supprimer les clés et de -rebooter. - -### reload/restart le démon ssh sur Debian sans passer par le script d'init - -Pour reload : - -~~~ -# start-stop-daemon --stop --signal 1 --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd -~~~ - -Pour redémarrer : - -~~~ -# start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile /var/run/sshd.pid -# start-stop-daemon --start --quiet --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd -~~~ - ## Restriction de l'accès d'une clé ssh Pour autoriser une clé SSH en limitant les accès via `.ssh/authorized_keys` : @@ -422,7 +375,7 @@ Pour autoriser une clé SSH en limitant les accès via `.ssh/authorized_keys` : no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa XXXXX commentaires ~~~ -### VPN over SSH +## VPN over SSH Côté serveur SSH : @@ -486,6 +439,9 @@ $ ssh -D 6789 proxy Puis on configure son navigateur pour utiliser un proxy SOCKS (4a ou 5) avec comme adresse 127.0.0.1 et port 6789. + +## Astuces + ### Séquences d'échappement On peut les utiliser pour communiquer avec le client @@ -496,3 +452,53 @@ sur le serveur ou autre). Il faut taper sur la touche entrée puis sur D'autres séquences d'échappement sont possibles, voir [cet article](https://lonesysadmin.net/2011/11/08/ssh-escape-sequences-aka-kill-dead-ssh-sessions/amp/). + + +## FAQ + +### Obtenir l'empreinte de la clé publique du serveur + +~~~ +$ ssh-keygen -lf /etc/ssh/clé.pub +~~~ + +### Regénérer les clés du serveur + +#### Sous Debian : + +~~~ +# rm -i /etc/ssh/ssh_host_* +# dpkg-reconfigure openssh-server +Creating SSH2 RSA key; this may take some time ... +Creating SSH2 DSA key; this may take some time ... +Restarting OpenBSD Secure Shell server: sshd. +~~~ + +#### Sous OpenBSD : + +~~~ +# rm -i /etc/ssh/ssh_host_* +# ssh-keygen -A +ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519 +~~~ + +À noter que c'est fait à chaque boot (via */etc/rc*), si les clés +n'existent pas donc une autre solution est de supprimer les clés et de +rebooter. + +### reload/restart le démon ssh sur Debian sans passer par le script d'init + +Pour reload : + +~~~ +# start-stop-daemon --stop --signal 1 --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd +~~~ + +Pour redémarrer : + +~~~ +# start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile /var/run/sshd.pid +# start-stop-daemon --start --quiet --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd +~~~ + +