preloader

Utilisez Une Connexion Sécurisée Avec SSH

Utilisez Une Connexion Sécurisée Avec SSH
Par Nicolas Malet / Publié le 16.02.2020

Marre de chercher à droite et gauche comment utiliser SSH.

Ce guide par étapes devrait te permettre de te connecter assez rapidement à un serveur distant.

Prérequis :

  • une console Bash (ou wsl par exemple)
  • la commande ssh

Ces commandes te permettront de te connecter de manière sécurisée (échange de mot de passe crypté) et de sauvegarder le mot de passe pour chaque nouvelle connexion.

Installer SSH

Si nécessaire tu peux installer le paquet ssh. Cependant ce dernier est préinstallé dans la plupart des distributions Linux.

Pour installer ssh tu peux exécuter les commandes suivantes :

Info :

A effectuer côté client
sudo apt-get install ssh

Tu peux aussi installer les paquets :

  • openssh-client côté client
  • openssh-server côté server
  • ssh pour les deux

Si tu penses que SSH est déjà installé, tu peux taper la commande suivante pour connaître la version :

ssh -V

Vérifier que SSH est actif

Pour vérifier que le service sshest actif, entre la commande :

sudo service ssh status

Tu devrais voir un message t’indiquant que le service SSH est actif

sinon tape :

sudo service ssh start

Tester la connexion SSH en local

Pour réaliser un premier test en local, tu peux entrer la commande suivante en prenant soin de remplacer par ton identifiant

ssh <username>@localhost

↳ Entre à présent ton mot de passe utilisateur.

Pour plus de sécurité

On ne devrait pas se connecter à un serveur avec le compte root et entrer le mot passe de ce compte. Cela pose des problèmes de sécurité.

Tu peux cependant générer une paire de clés afin de crypter ton mot de passe.

Info :

A effectuer côté client

Génère une paire de clés (valide le dossier par défaut ~/.ssh) :

ssh-keygen -t rsa

ou

ssh-keygen -t rsa -C "your.email@example.com" -b 4096

↳ Définis un “pass phrase” complexe.

Puis envoie la clé publique sur le serveur en tapant :

ssh-copy-id -i ~/.ssh/id_rsa.pub <username>@<ip-address>

Si l’authentification par mot de passe est désactivée tu peux entrer :

ssh login@serveur "echo $(cat ~/.ssh/id_rsa.pub) >> .ssh/authorized_keys"

Tu peux maintenant te connecter :

ssh <username>@<ip-address>

↳ Entre maintenant le “pass phrase”

Editer .ssh/config

Pour plus de confort, tu peux configurer le fichier config. Cela permettra d’enregistrer les références de ton serveur.

vi .ssh/config

Puis insère les lignes suivantes en remplaçant les termes

Host <name>
    HostName <host>
    User <username>
    Port <22>

<name> : C’est le nom de ton serveur, tu peux mettre ce que tu veux

<hostname> : Cela peut être l’adresse IP de ton serveur ou nom de domaine

<username> : Ton identifiant sur le serveur

<port> : Le numéro de port 22 par défaut mais celui-ci peut être différent

Ensuite execute

chmod 600 .ssh/config

Pour pouvoir se connecter automatiquement

D’abord exécute l’agent SSH en local (sur ta machine)

exec ssh-agent bash

Une alternative consiste à faire :

eval `ssh-agent`

Ensuite il reste à executer la commande suivante pour retenir le mot de passe :

ssh-add

Solution pour retenir le “pass phrase” de manière permanente

Tout d’abord, assure-toi que ssh-agent fonctionne tout le temps en ajoutant eval $(ssh-agent) au fichier .bashrc ou .profile

Ensuite ajoute AddKeysToAgent yes au fichier de configuration ssh :

touch ~/.ssh/config
chmod 600 ~/.ssh/config
echo "AddKeysToAgent yes" >> ~/.ssh/config

Ainsi le “pass phrase” sera enregistrée pour la session.

Avec keychain

Tu peux aussi t’aider de la commande keychain

Voir le tutoriel : http://www.qanuq.com/2017/10/09/installer-ssh-keychain/

Pour ce faire, entre les commandes suivantes :

apt install keychain

puis

vi ~/.profile

Insère la commande à la fin du fichier .profile (ou .bashrc)

eval `keychain --eval --agents ssh ~/.ssh/neptune_key ~/.ssh/ma_cle_perso`

puis execute

source .profile

A savoir, tu peux changer ou supprimer le “pass phrase” avec les commandes suivantes

ssh-keygen -p

Info :

Valide sans mot de passe si tu ne veux plus de mot de passe

Lister les clés disponibles

Enfin tu peux lister toutes les clés sur ta machine en faisant

ssh-keygen -l
comments powered by Disqus