diff --git a/HowtoSSH.md b/HowtoSSH.md index 080a2e63..6e7c5c65 100644 --- a/HowtoSSH.md +++ b/HowtoSSH.md @@ -26,6 +26,53 @@ OpenSSH étant développé au sein d'OpenBSD, la partie cliente et la partie serveur sont incluses dans la base. L'activation de la partie serveur dépend du choix qui a été fait lors de l'installation. +## Configuration SSH + +### Log verbeux pour SFTP + +Pour augmenter la verbosité du sous-système sftp-server, notamment loguer les commandes SFTP, il suffit de passer l'option -l à l'appel de sftp-server dans sshd_config : + +~~~ +Subsystem sftp /usr/libexec/openssh/sftp-server -l INFO +~~~ + +### SFTP chroot + +Voici un ensemble de commandes pouvant être utilisées 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 : + +~~~ +# Répertoire dans lequel SSHD va se chrooter +mkdir /home/sftp +chmod 755 /home/sftp + +# Les utilisateurs du groupe sftp (ici account1) disposeront de l'accès SFTP restreint +groupadd sftp +useradd -g sftp -d /account1 account1 +mkdir /home/sftp/account1/ +chown account1:sftp /home/sftp/account1/ +chmod 700 /home/sftp/account1/ +~~~ + +Dans le fichier /etc/ssh/sshd_config : + +~~~ +Subsystem sftp internal-sftp + +Match group sftp + ChrootDirectory /home/sftp + X11Forwarding no + AllowTcpForwarding no + ForceCommand internal-sftp +~~~ + +### SFTP Only + +Mettre shell /usr/lib/sftp-server pour l'utilisateur et s'assurer que ce shell est bien présent dans /etc/shells + +~~~ +# usermod -s /usr/lib/sftp-server userna +# echo '/usr/lib/stfp-server' >> /etc/shells +~~~ ## Administration SSH ### Obtenir l'empreinte de la clé publique du serveur @@ -72,36 +119,6 @@ Pour redémarrer : # start-stop-daemon --start --quiet --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd ~~~ - -## SFTP chroot - -Voici un ensemble de commandes pouvant être utilisées 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 : - -~~~ -# Répertoire dans lequel SSHD va se chrooter -mkdir /home/sftp -chmod 755 /home/sftp - -# Les utilisateurs du groupe sftp (ici account1) disposeront de l'accès SFTP restreint -groupadd sftp -useradd -g sftp -d /account1 account1 -mkdir /home/sftp/account1/ -chown account1:sftp /home/sftp/account1/ -chmod 700 /home/sftp/account1/ -~~~ - -Dans le fichier /etc/ssh/sshd_config : - -~~~ -Subsystem sftp internal-sftp - -Match group sftp - ChrootDirectory /home/sftp - X11Forwarding no - AllowTcpForwarding no - ForceCommand internal-sftp -~~~ - ## Restriction de l'accès d'une clé ssh Pour autoriser une clé SSH en limitant les accès via _.ssh/authorized_keys_ : @@ -110,16 +127,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 ~~~ -## SFTP Only - -Mettre shell /usr/lib/sftp-server pour l'utilisateur et s'assurer que ce shell est bien présent dans /etc/shells - -~~~ -# usermod -s /usr/lib/sftp-server userna -# echo '/usr/lib/stfp-server' >> /etc/shells -~~~ - -## VPN over SSH +### VPN over SSH Côté serveur SSH : @@ -156,9 +164,9 @@ $ ssh -J bastion machine-cible À noter que cela nécessite une versione récente d'OpenSSH (celle présente dans Stretch) -## Tunnel SSH +### Tunnel SSH -### Pour une ressource donnée +#### Pour une ressource donnée Si on veut accéder de la machine 192.0.2.4 à un service https hébergé sur 192.0.2.5 mais que seule la machine 192.0.2.6 y accède on peut lancer @@ -171,7 +179,7 @@ $ ssh -L 192.0.2.4:9000:192.0.2.5:443 192.0.2.6 On peut ensuite faire pointer son navigateur sur https://192.0.2.4:9000. -### Pour tout le trafic web +#### Pour tout le trafic web On lance la commande @@ -182,13 +190,3 @@ $ 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. -## Configuration SSH - -### Log verbeux pour SFTP - -Pour augmenter la verbosité du sous-système sftp-server, notamment loguer les commandes SFTP, il suffit de passer l'option -l à l'appel de sftp-server dans sshd_config : - -~~~ -Subsystem sftp /usr/libexec/openssh/sftp-server -l INFO -~~~ -