Table des matières

SSH

SSH, SSHD et SSLH.

Côté client

Partie Client

Configuration serveur

nano /etc/ssh/sshd_config
Protocol 2
#Changer le port
port 27022
#On écoute le local pour SSLH
ListenAddress 127.0.0.1
#Utilisateurs
PermitRootLogin no
AllowUsers user_remote
#Temps permis au login
LoginGraceTime 1m
#Temps avant déconnexion auto
ClientAliveInterval 1800
#Pour les clés
PermitEmptyPasswords no
PasswordAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
#HostKey /etc/ssh/ssh_host_dsa_key
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
#Paramètres supplémentaires
UsePrivilegeSeparation sandbox
AuthenticationMethods publickey
KexAlgorithms curve25519-sha256@libssh.org
Ciphers chacha20-poly1305@openssh.com
MACs umac-128-etm@openssh.com,umac-128@openssh.com
Banner /etc/issue.net
LogLevel VERBOSE
X11Forwarding yes
X11UseLocalhost yes

Reboot service SSH

service sshd restart

Entropie

Vérifier l'entropie actuelle :

cat /proc/sys/kernel/random/entropy_avail

Installer le paquet haveged

apt-get install haveged

Revérifier l'entropie :

cat /proc/sys/kernel/random/entropy_avail

L'entropie sert à améliorer la génération de nombres aléatoires. Et aide donc pour SSH, mais aussi par exemple la génération de paires de clés.

Installation SSLH

SSL + SSH sur port 443. Installation avec Apache :

apt-get install sslh

Installation avec Nginx (refuser les paquets recommandés, pour ne pas installer Apache par dessus Nginx) :

apt-get install  --no-install-recommends sslh

Aller dans le dossier des sites hébergés (“/etc/nginx/site-availables” ou “/etc/apache2/site-availables”), et changer le port d'écoute SSL :

sed -i -e "s/443/27443/g" *

redémarrer le serveur web (Apache/Nginx).

Configuration SSLH

nano /etc/default/sslh
RUN=yes
DAEMON_OPTS="--user sslh -t1 --on-timeout ssl --listen 0.0.0.0:443 -ssh 127.0.0.1:27022 -ssl 127.0.0.1:27443 -pidfile /var/run/sslh.pid"

Démarrer SSLH :

/etc/init.d/sslh start

PuTTY

Télécharger la dernière version de développement de puttygen: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Pour l'instant, elle seule prend en charge ed25519.

Lancer puttygen, importer la clé privée, et ensuite la sauvegarder au format PuTTY.

Il suffit enfin de la charger dans PuTTY, via le menu de gauche : “Connexion\SSH\Auth”.

Passer root dans une session SFTP

Avoir son user prêt, avec un accès SSH et dans les sudoers. On édite l'utilisateur :

visudo

Avoir une ligne du style :

liandri ALL = (ALL) NOPASSWD: ALL

On recherche l'exécutable sftp-server pour vérifier son emplacement :

whereis sftp-server

Qui nous renvoie normalement : “/usr/lib/sftp-server”.

Maintenant, dans la fenêtre du client SFTP, ici WinSCP, aller dans les options avancées, menu “Environnement > SFTP”, et changer l'option “serveur SFTP” en :

sudo -s  {mon path vers sftp-server}

Soit :

sudo -s  /usr/lib/sftp-server