🌞
Tech-Astuce: Comprendre et utiliser SSH sur un serveur Linux 👈 Comprendre et utiliser SSH sur un serveur Linux 👈 - Tech-Astuce Tech-Astuce: Comprendre et utiliser SSH sur un serveur Linux 👈

Comprendre et utiliser SSH sur un serveur Linux 👈

Description

Astuces rapides :
🔹 SSH : protocole sécurisé permettant de se connecter à un serveur Linux à distance
🔹 Utilisation principale : administrer un serveur, exécuter des commandes et transférer des fichiers
🔹 Sécurité : toutes les communications sont chiffrées pour protéger les données
🔹 Bonne pratique : utiliser une clé SSH plutôt qu’un mot de passe pour plus de sécurité

Bonjour à tous, aujourd’hui nous allons découvrir ce qu’est SSH sur un serveur Linux et comment l’utiliser pour se connecter à distance de manière sécurisée.

SSH sur un serveur Linux : comprendre et utiliser l’accès distant sécurisé

SSH est un outil essentiel utilisé par les administrateurs système et les développeurs pour gérer un serveur à distance, exécuter des commandes et transférer des fichiers.

Aujourd’hui, c’est l’une des méthodes les plus sûres pour administrer un serveur Linux.

Qu’est-ce que SSH ?

SSH signifie Secure Shell.

Il s’agit d’un protocole réseau sécurisé qui permet de se connecter à un serveur distant et d’exécuter des commandes via un terminal.

Contrairement aux anciennes méthodes comme Telnet, SSH chiffre toutes les communications, empêchant ainsi toute interception de données.

Que permet SSH ?

SSH permet notamment de :

  • Se connecter à un serveur à distance

  • Administrer un système Linux

  • Transférer des fichiers de manière sécurisée

  • Automatiser des tâches

  • Créer des tunnels sécurisés

Installer SSH sur Linux

SSH est généralement fourni par OpenSSH.

- Installation sous Ubuntu / Debian

sudo apt update
sudo apt install -y openssh-server
sudo systemctl enable --now ssh
sudo systemctl status ssh

- Installation sous RHEL / CentOS / AlmaLinux / Rocky Linux

sudo dnf install -y openssh-server
sudo systemctl enable --now sshd
sudo systemctl status sshd

Autoriser SSH dans le pare-feu

UFW (Ubuntu / Debian)

sudo ufw allow 22/tcp
sudo ufw enable

firewalld

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

Première connexion SSH

ssh user@server

Remplacez :

  • user → votre utilisateur

  • server → IP ou nom du serveur

- Connexion avec port personnalisé

ssh -p 2222 user@server

- Connexion avec clé privée

ssh -i ~/.ssh/id_ed25519 user@server

Transfert de fichiers avec SSH

Copier un fichier

scp file.txt user@server:/var/www/

Copier un dossier

scp -r site/ user@server:/var/www/site/

Utiliser SFTP

sftp user@server

Synchronisation avec rsync

rsync -avz -e "ssh -p 22" ./localdir/ user@server:/backup/localdir/

Générer une clé SSH

ssh-keygen -t ed25519 -C "you@example.com"

Copier la clé vers le serveur

ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server

Méthode manuelle

mkdir -p ~/.ssh && chmod 700 ~/.ssh
cat ~/id_ed25519.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Utiliser un agent SSH

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

Exemple de configuration SSH

Fichier :

~/.ssh/config
Host prod-web
HostName 203.0.113.10
User ubuntu
Port 22
IdentityFile ~/.ssh/id_ed25519
 

Host db-internal
HostName 10.0.1.10
User ec2-user
ProxyJump prod-bastion
 

Host prod-bastion
HostName 203.0.113.20
User ec2-user

Sécuriser SSH

Fichier :

/etc/ssh/sshd_config
Port 22
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
AllowUsers ubuntu deploy
MaxAuthTries 3
LoginGraceTime 20
ClientAliveInterval 300
ClientAliveCountMax 2
X11Forwarding no
UsePAM yes

- Redémarrer SSH

Ubuntu / Debian :

sudo systemctl reload ssh

RHEL / CentOS :

sudo systemctl reload sshd

Tunneling SSH

Forwarding local

ssh -L 5432:127.0.0.1:5432 user@server

Forwarding distant

ssh -R 8080:127.0.0.1:80 user@server

Proxy SOCKS

ssh -D 1080 user@server

Résolution des problèmes SSH

- Permission denied (publickey)

Vérifiez :

~/.ssh = 700
clé privée = 600

- Connexion refusée

sudo ss -tlpn | grep sshd

- Voir les logs

Ubuntu / Debian :

sudo journalctl -u ssh -f

RHEL / CentOS :

sudo journalctl -u sshd -f

Conclusion

SSH est un outil indispensable pour administrer un serveur Linux à distance de manière sécurisée.

Avec quelques commandes simples, vous pouvez gérer un serveur complet, transférer des fichiers et automatiser vos tâches.

Voilà, nous avons vu SSH sur les serveurs Linux.Si vous avez des questions, n’hésitez pas à me les poser ou à me contacter.

Suggestion : Vous avez un thème ou un contenu à proposer ? N’hésitez pas à le suggérer en commentaire, vos idées sont toujours les bienvenues.

Aucun commentaire:

Enregistrer un commentaire

Vos critiques et observations sont les bienvenues.

ACTUALITÉS TECH
📡 LIVE FEED
Chargement...
Bienvenue sur Tech-Astuce !