cClaude.rocks ☕ Le blog

[Nouvelles technologies, sciences et coups de gueule…]

Menu

Le protocole ssh est conçu pour fournir des communications cryptĂ©es sĂ©curisĂ©es entre deux ordinateurs (hĂŽtes) non approuvĂ©s sur un rĂ©seau non sĂ©curisĂ©. Les connexions X11, les ports TCP arbitraires et les sockets du domaine UNIX peuvent Ă©galement ĂȘtre transfĂ©rĂ©s via le canal sĂ©curisĂ©.


ඏ

La machine est Ă  l’origine de la communication ssh utilisera le programme ssh. Le client SSH est un programme permettant de se connecter Ă  une machine distante et d’exĂ©cuter des commandes Ă  distance.

La machine recevant la communication, doit exécuter le démon ssh. Ici nous allons voir comment installer sshd à partir du paquet OpenSSH.

Installer le serveur SSH sur votre machine, vous permettra de prendre Ă  distance votre ordinateur, depuis un autre.

Installation de sshd

Ces opĂ©rations doivent se faire sur la machine distante, et par consĂ©quent avant d’avoir besoin d’y accĂ©der Ă  distance.

Installation :

sudo apt-get update &&
sudo apt-get install -y openssh-server

Vérifier que le démon ssh est activable et activé :

systemctl is-enabled ssh && systemctl is-active ssh

Si ce n’est pas le cas, vous le rendre activable :

sudo systemctl enabled ssh

et le démarrer :

sudo systemctl start ssh

Pour vĂ©rifier l’état du service utilisez :

systemctl status ssh
sudo systemctl enable ssh

Si vous avez un pare-feu personnel sur cette machine, vous devez autoriser l’utilisation du port 22.

Dans le cas de ufw, voici comment configurer cela :

sudo ufw allow 22/tcp

Plus d'informations sur la configuration du pare-feu [EN]

Vous pouvez faire un test rapide pour voir si vous pouvez au moins joindre le service sshd depuis une machine distante.

ssh <REMOTE_MACHINE_IP> # Depuis la machine que vous ĂȘtes en train d’installer, d’abord
                        # Puis idéalement depuis une autre machine, afin de vérifier que tout fonctionne.

Si un mot de passe est demandĂ©, vous pouvez annuler l’opĂ©ration simplement avec (CTRL + c) : tout va bien. Sinon, vĂ©rifiez les Ă©tapes prĂ©cĂ©dentes.


ඏ

Effectuer une connexion à distance :

Nous appellerons la machine locale ou machine cliente, l’ordinateur sur lequel vous ĂȘtre physiquement, et la machine distante ou machine serveur, l’ordinateur sur lequel vous souhaitez travailler.

Pour utiliser pleinement le protocole ssh, je vous conseille de vous créer une paire de clé, celle-ci devra se trouver sur la machine locale.

Ensuite sur la machine distante, vous devrez dĂ©finir l’approbation de cette clĂ© (en donnant votre clĂ© publique).


ඏ

Création de la paire de clés ssh

Notez que si vous souhaitez mettre en place cela pour plusieurs utilisateurs, vous devrez répéter cette opération sur chaque compte utilisateur.

La commande typique est la suivante, les autres champs pouvant rester dans un premier temps avec les valeurs par défaut.

ssh-keygen -t rsa -b 4096 -C "${USER}@$(hostname)"

Par défaut, votre clé publique sera : ~/.ssh/id_rsa.pub

Si vous ne souhaitez pas avoir Ă  rĂ©pondre Ă  toutes les questions, typiquement dans le cas d’un script vous devrez utiliser quelque chose comme :

ssh-keygen -t rsa -b 4096 -C "votre commentaitre" -f "${HOME}/.ssh/my_id_rsa" -N ''

Et je vous propose de remplir le champ commentaire comme suit, cela vous aidera à identifier vos clés si vous en utiliser plusieurs :

ssh-keygen -t rsa -b 4096 -C "${USER}@${HOSTNAME}" -f "${HOME}/.ssh/id_rsa" -N ''

Je rentre pas ici dans le dĂ©tail permettant d’utiliser plusieurs clĂ©s, ni comment protĂ©ger vos clĂ©s par un mot de passe. Ce n’est pas absolument nĂ©cessaire si vous protĂ©ger bien l’accĂšs Ă  votre machine.


ඏ

Sécurisation de votre répertoire ~/.ssh

Sur toutes les machines clientes ou serveurs vous devez avoir un dossier ~/.ssh (donc par utilisateur étant concerné par les accÚs ssh)

mkdir -p ~/.ssh
chown -R "${USER}" ~/.ssh # S’assure que le dossier appartient à l’utilisateur courant
chmod 700 ~/.ssh          # Le 700 n’est pas nĂ©cessaire, mais c’est le plus simple Ă  gĂ©rer.

ඏ

Configuration des machines clientes (machines locales)

Sur les machines clientes vous devez avec les fichiers ~/.ssh/id_rsa et ~/.ssh/id_rsa.pub, généré par la commande ssh-keygen décrite ci-dessus.

Il faut absolument que votre clé privée ne soit accessible que par vous :

chown "${USER}" ~/.ssh/id_rsa # S’assure que le fichier appartient à l’utilisateur courant
chmod 600 ~/.ssh/id_rsa       # S’assure que le fichier n’est visible que par l’utilisateur courant

ඏ

Configuration des machines serveurs (machines distantes) — Facultatif

Sur les machines distantes, vous devez configurer le lien d’approbation :

touch ~/.ssh/authorized_keys           # CrĂ©ation du fichier s’il n’existe pas
chown "${USER}" ~/.ssh/authorized_keys # S’assure que le fichier appartient à l’utilisateur courant
chmod 600 ~/.ssh/authorized_keys       # S’assure que le fichier n’est visible que par l’utilisateur courant

Ensuite pour crĂ©er le lien d’approbation vous devez ajouter votre clĂ© publique Ă  ce fichier, si vous souhaitez configurer plusieurs clĂ©s, il faut mettre une clĂ© par ligne.


ඏ

Connexion

Depuis la machine locale :

ssh <REMOTE_USER>@<REMOTE_MACHINE_IP> # Depuis la machine locale/cliente

Lorsque le nom d’utilisateur est le mĂȘme sur la machine distante que sur la machine locale, vous pouvez utiliser :

ssh <REMOTE_MACHINE_IP> # Depuis la machine locale/cliente

Si l’approbation est bien configurĂ©e, vous n’aurez pas Ă  rentrer de mot de passe, sinon vous devrez saisir le mot de passe pour l’utilisateur distant. Il est donc possible de configurer l’approbation Ă  distance.


ඏ

En savoir +

኿


â„č 2006 - 2024 | 🏠 Accueil du domaine | 🏡 Accueil du blog