SSH

OpenSSH est l’implémentation libre du protocole SSH (Secure Shell).
OpenSSH est un ensemble d’utilitaires permettant de se connecter à une machine distante via un tunnel chiffré. OpenSSH crypte tout le trafic (y compris les mots de passe) pour éliminer efficacement l’espionnage, le détournement de connexion et d’autres attaques.

Installation du serveur OpenSSH

apt install openssh-server

Vérifier la version d’openSSH

ssh -V

Les différentes utilisations de SSH

Accès distants à une console (Shell ssh)

ssh -l user ip
ssh -l user serveur.domaine.com
ssh -l user@ip
ssh -l user@serveur.domaine.com

Affichage graphique déporté (Tunnel ssh pour serveur X)

Copie de fichiers et de répertoires

Tunnel SSH

Rebond SSH

Un Rebond SSH  est une infrastructure qui permet à une connexion SSH de “rebondir” avant d’atteindre sa cible.

Configuration du serveur de rebond (ssh-gateway)

Dans le fichier ~/.ssh/config

Host serveur
    Hostname serveur
    IdentityFile ~/.ssh/keys/serveur.priv
    User root

Configuration du client

Dans le fichier ~/.ssh/config

Host ssh-gateway 
    Hostname ssh-gateway 
    IdentityFile ~/.ssh/keys/ssh-gateway.priv 
    User root

Host serveur 
    Hostname serveur 
    ProxyJump ssh-gateway 
    IdentityFile ~/.ssh/keys/serveur.priv
    User root

Authentification

Authentification par mot de passe

Authentification par clés publique/privée

Génération d’une paire de clé de type rsa

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -C "lucas.moser@live.fr"

Génération d’une paire de clé de type ed25519

ssh-keygen -o -t ed25519 -a 100 -C "OpenSSH Server ED25519" -N '' -f ~/.ssh/id_ed25519

Désactivation de l’authentification par mot de passe

sed -i 's/#PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
service ssh restart

Permissions

chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
chmod 644 ~/.ssh/known_hosts
chmod 644 ~/.ssh/config
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub

Convertir une paire de clé de type Openssh vers SHSEC(putty)

Convertir une clé publique au format openssh vers shsec

puttygen < Openssh-Private-Key > -o < Putty-Public-Key.pub > -O public -C "Commentaire"

Convertir une clé privée au format openssh vers shsec

puttygen < Openssh-Private-Key > -o < Putty-Private-Key.pub >.ppk -O private -C "Commentaire"