Commandes essentielles pour le contrĂ´le Ă distance de vos stations, VPN et infrastructures radio
Pourquoi SSH pour les radioamateurs ?
Le protocole SSH (Secure Shell) est devenu incontournable pour les radioamateurs modernes. Que ce soit pour contrĂ´ler un transceiver Ă distance, gĂ©rer un serveur de modes numĂ©riques, configurer un VPN pour accĂ©der Ă votre station depuis n’importe oĂą, ou maintenir un hotspot DMR, SSH est l’outil de choix.
Cette page rassemble les commandes SSH essentielles, avec des exemples concrets adaptés à nos usages radioamateurs.
Connexion SSH de base
Connexion simple
La commande de base pour se connecter Ă votre station ou serveur distant :
ssh utilisateur@adresse_ip
Exemple :
ssh f4hxn@192.168.1.100ssh pi@station-radio.f4hxn.fr
Connexion avec port personnalisé
Si vous avez changé le port SSH par défaut (22) pour des raisons de sécurité :
ssh -p 2222 utilisateur@adresse_ip
Connexion avec clé SSH
La méthode la plus sécurisée, particulièrement recommandée pour les accès VPN :
ssh -i ~/.ssh/id_ed25519 utilisateur@adresse_ip
Transfert de fichiers
SCP – Copier un fichier vers le serveur
Idéal pour transférer vos fichiers de configuration, logs ADIF, ou images SSTV :
scp fichier.txt utilisateur@serveur:/chemin/destination/
Exemple radioamateur :
scp qso_log.adi pi@station-dmr:/home/pi/logs/scp config_wsjt.ini f4hxn@192.168.1.100:/home/f4hxn/.config/
SCP – RĂ©cupĂ©rer un fichier depuis le serveur
scp utilisateur@serveur:/chemin/fichier.txt ./
Exemple :
scp pi@hotspot-dmr:/var/log/mmdvm.log ~/Bureau/
SCP – Copier un dossier complet (rĂ©cursif)
scp -r dossier/ utilisateur@serveur:/destination/
Exemple :
scp -r ~/configs_radio/ pi@station:/home/pi/backup/
Authentification par clés SSH (Recommandé)
Pourquoi utiliser des clés SSH ?
Les clés SSH sont beaucoup plus sécurisées que les mots de passe :
- Immunité aux attaques par force brute : une clé ed25519 de 256 bits est pratiquement incassable
- Pas de saisie de mot de passe : connexion automatique une fois configurée
- Idéal pour les scripts : automatisation sans interaction
- Révocable facilement : supprimez une clé sans changer tous vos mots de passe
- Une clé pour plusieurs serveurs : propagez votre clé publique partout
Étape 1 : Générer une paire de clés sur votre ordinateur
Sur votre PC/Mac/Linux, ouvrez un terminal et générez votre paire de clés :
Option recommandée : ed25519 (moderne, rapide, sécurisé)
ssh-keygen -t ed25519 -C "f4hxn@station-radio"
Alternative : RSA 4096 bits (compatible avec les vieux systèmes)
ssh-keygen -t rsa -b 4096 -C "f4hxn@station-radio"
Réponses aux questions :
Enter file in which to save the key (/home/you/.ssh/id_ed25519): [ENTRÉE]
Enter passphrase (empty for no passphrase): [Tapez une passphrase forte]
Enter same passphrase again: [Retapez la passphrase]
La passphrase : C’est une protection supplĂ©mentaire pour votre clĂ© privĂ©e. MĂŞme si quelqu’un vole votre fichier id_ed25519, il ne pourra pas l’utiliser sans la passphrase. Choisissez-en une forte ! (ou laissez vide pour l’automatisation, mais c’est moins sĂ©curisĂ©).
Résultat : Deux fichiers créés dans ~/.ssh/ :
id_ed25519 → Clé PRIVÉE (à protéger absolument !)id_ed25519.pub → Clé PUBLIQUE (peut être partagée)
Étape 2 : Copier la clé publique sur le serveur distant
Maintenant, il faut installer votre clé publique sur les serveurs auxquels vous voulez vous connecter.
Méthode automatique (la plus simple)
# Pour ed25519
ssh-copy-id -i ~/.ssh/id_ed25519.pub utilisateur@serveur
# Exemples concrets :
ssh-copy-id -i ~/.ssh/id_ed25519.pub pi@192.168.1.100
ssh-copy-id -i ~/.ssh/id_ed25519.pub f4hxn@station-radio.f4hxn.fr
ssh-copy-id -i ~/.ssh/id_ed25519.pub pi@hotspot-dmr.local
Vous devrez entrer le mot de passe SSH une dernière fois. Après ça, plus besoin !
MĂ©thode manuelle (si ssh-copy-id n’existe pas)
# Afficher votre clé publique
cat ~/.ssh/id_ed25519.pub
# Copier la sortie, puis se connecter au serveur
ssh utilisateur@serveur
# Sur le serveur : créer le dossier .ssh
mkdir -p ~/.ssh
chmod 700 ~/.ssh
# Ajouter votre clé dans authorized_keys
nano ~/.ssh/authorized_keys
# Collez votre clé publique, sauvegardez (Ctrl+X, Y, Entrée)
# Permissions correctes
chmod 600 ~/.ssh/authorized_keys
Méthode en une ligne (pour les pros)
cat ~/.ssh/id_ed25519.pub | ssh utilisateur@serveur "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
Étape 3 : Tester la connexion par clé
Testez que tout fonctionne correctement :
# Connexion avec votre clé
ssh -i ~/.ssh/id_ed25519 utilisateur@serveur
# Exemples :
ssh -i ~/.ssh/id_ed25519 pi@192.168.1.100
ssh -i ~/.ssh/id_ed25519 f4hxn@station-radio.f4hxn.fr
Si vous avez mis une passphrase, on vous la demandera. C’est normal !
Si ça fonctionne sans demander le mot de passe SSH du serveur → C’est bon !
Succès ! Vous ĂŞtes maintenant connectĂ© avec votre clĂ© SSH. La connexion est sĂ©curisĂ©e et vous n’avez plus besoin de taper le mot de passe du serveur.
Étape 4 : Simplifier avec ~/.ssh/config
Pour ne plus avoir Ă taper -i ~/.ssh/id_ed25519 Ă chaque fois :
# Éditez votre fichier de configuration SSH local
nano ~/.ssh/config
# Ajoutez vos serveurs :
Host station
HostName 192.168.1.100
User f4hxn
IdentityFile ~/.ssh/id_ed25519
Port 22
Host hotspot-dmr
HostName hotspot-dmr.local
User pi
IdentityFile ~/.ssh/id_ed25519
Host sdr-remote
HostName sdr.f4hxn.fr
User sdruser
IdentityFile ~/.ssh/id_ed25519
Port 2222
Maintenant, connectez-vous simplement avec :
ssh station
ssh hotspot-dmr
ssh sdr-remote
Astuce radioamateur : Créez des alias pour tous vos équipements !
• ssh station → Station principale QTH
• ssh portable → Station portable/mobile
• ssh dmr → Hotspot DMR
• ssh repeater → Relais VHF/UHF
• ssh sdr → Serveur WebSDR
• ssh aprs → iGate APRS
Étape 5 : DĂ©sactiver l’authentification par mot de passe (optionnel mais recommandĂ©)
ATTENTION : Ne faites ceci qu’après avoir vĂ©rifiĂ© que la connexion par clĂ© fonctionne sur TOUS vos appareils (PC, laptop, smartphone, etc.) ! Sinon vous risquez de vous bloquer l’accès.
Une fois que tout fonctionne, sécurisez votre serveur en désactivant les mots de passe :
# Sur le SERVEUR (pas sur votre PC)
sudo nano /etc/ssh/sshd_config
# Modifiez ou ajoutez ces lignes :
PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
UsePAM no
# Sauvegardez (Ctrl+X, Y, Entrée)
# Redémarrez le service SSH
sudo systemctl restart sshd
# Ou sur certains systèmes :
sudo service ssh restart
RĂ©sultat : Votre serveur n’accepte plus que les connexions par clĂ© SSH. Les robots qui tentent de deviner des mots de passe sont maintenant bloquĂ©s. Votre station est beaucoup plus sĂ©curisĂ©e !
Scénario : Vous avez un Raspberry Pi qui contrôle votre transceiver et vous voulez y accéder depuis votre PC.
# 1. Générer les clés
ssh-keygen -t ed25519 -C "f4hxn-station"
# 2. Copier sur le Raspberry Pi
ssh-copy-id -i ~/.ssh/id_ed25519.pub pi@192.168.1.100
# 3. Configurer l'alias
echo "Host station" >> ~/.ssh/config
echo " HostName 192.168.1.100" >> ~/.ssh/config
echo " User pi" >> ~/.ssh/config
echo " IdentityFile ~/.ssh/id_ed25519" >> ~/.ssh/config
# 4. Se connecter simplement
ssh station
# Désactiver l'authentification par mot de passe
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
Terminé ! Votre station est maintenant accessible en tapant simplement ssh station
Cas d’usage spĂ©cifiques
Accès Ă votre station depuis l’extĂ©rieur :
ssh -L 4532:localhost:4532 f4hxn@station.vpn
Redirige le port Hamlib (rigctld) vers votre PC local
Accéder à distance à WSJT-X, fldigi, etc. :
ssh -L 5900:localhost:5900 pi@station-radio
Puis connectez votre client VNC Ă localhost:5900
Tunnel SSH pour interfaces web locales :
ssh -L 8080:localhost:80 pi@pistar.local
Accédez ensuite à http://localhost:8080
Rediriger l’audio ou les donnĂ©es :
ssh -L 7355:localhost:7355 user@websdr-server
Port utilisé par certains serveurs WebSDR
Commandes avancées
Exécuter une commande à distance
Lancer une commande sans ouvrir de session interactive :
ssh utilisateur@serveur "commande"
Exemples radioamateurs :
ssh pi@hotspot "sudo systemctl restart mmdvmhost"ssh f4hxn@station "cat /var/log/wsjtx.log | tail -20"ssh pi@sdr "rtl_test -t"
Connexion persistante avec écran (screen)
Garder un processus actif même après déconnexion (idéal pour direwolf, wsjtx-cli, etc.) :
ssh utilisateur@serveur
screen -S radio_session
# lancer votre application
# Ctrl+A puis D pour détacher
# Plus tard : screen -r radio_session pour revenir
SSHFS – Monter un dossier distant
AccĂ©der aux fichiers distants comme s’ils Ă©taient locaux :
sshfs utilisateur@serveur:/chemin/distant ~/point_montage/
Exemple :
sshfs pi@station:/home/pi/logs ~/station_logs/
Pour démonter :
fusermount -u ~/station_logs/
Proxy SOCKS pour navigation sécurisée
Utiliser votre station comme proxy (utile en déplacement) :
ssh -D 8080 utilisateur@station
Configurez ensuite votre navigateur pour utiliser localhost:8080 comme proxy SOCKS5
Configuration ~/.ssh/config
Simplifier vos connexions
Créez des alias pour vos stations fréquemment utilisées :
# Fichier ~/.ssh/config
Host station
HostName 192.168.1.100
User f4hxn
Port 22
IdentityFile ~/.ssh/id_ed25519
Host hotspot-dmr
HostName hotspot.local
User pi
IdentityFile ~/.ssh/id_rsa_pistar
Host sdr-remote
HostName sdr.f4hxn.fr
User sdruser
Port 2222
LocalForward 8073 localhost:8073
Ensuite, connectez-vous simplement avec :
ssh station
ssh hotspot-dmr
ssh sdr-remote
Conseils de sécurité pour radioamateurs
L’authentification par clĂ©s est beaucoup plus sĂ©curisĂ©e que les mots de passe. Une clĂ© SSH ed25519 de 256 bits est pratiquement impossible Ă craquer par force brute.
Étape 1 : Générer une paire de clés sur votre PC
# Génération d'une clé ed25519 (recommandé)
ssh-keygen -t ed25519 -C "f4hxn@station-radio"
# Ou RSA 4096 bits si ed25519 n'est pas supporté
ssh-keygen -t rsa -b 4096 -C "f4hxn@station-radio"
Choisissez une passphrase solide pour protéger votre clé privée
Les fichiers créés : ~/.ssh/id_ed25519 (privée) et ~/.ssh/id_ed25519.pub (publique)
Étape 2 : Copier la clé publique sur le serveur
# Méthode automatique (recommandée)
ssh-copy-id -i ~/.ssh/id_ed25519.pub pi@192.168.1.100
# Méthode manuelle si ssh-copy-id n'existe pas
cat ~/.ssh/id_ed25519.pub | ssh pi@192.168.1.100 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Étape 3 : Tester la connexion par clé
ssh -i ~/.ssh/id_ed25519 pi@192.168.1.100
Étape 4 : DĂ©sactiver l’authentification par mot de passe
ATTENTION : Ne faites ceci qu’après avoir vĂ©rifiĂ© que la connexion par clĂ© fonctionne !
# Sur le serveur, éditez la configuration SSH
sudo nano /etc/ssh/sshd_config
# Modifiez ou ajoutez ces lignes :
PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
UsePAM no
# Redémarrez le service SSH
sudo systemctl restart sshd
Conseil radioamateur : Gardez une session SSH ouverte pendant que vous testez la nouvelle configuration. Si quelque chose ne fonctionne pas, vous pourrez revenir en arrière sans être bloqué !
Le port 22 est constamment scannĂ© par des robots. Changer de port rĂ©duit drastiquement le nombre de tentatives d’intrusion automatiques dans vos logs.
Configuration du nouveau port
# Sur le serveur, éditez la configuration
sudo nano /etc/ssh/sshd_config
# Modifiez la ligne Port (décommentez si nécessaire)
Port 2222
# Redémarrez SSH
sudo systemctl restart sshd
Connexion avec le nouveau port
# Connexion directe
ssh -p 2222 pi@station-radio.f4hxn.fr
# Ou ajoutez dans ~/.ssh/config :
Host station
HostName station-radio.f4hxn.fr
Port 2222
User pi
Pare-feu : n’oubliez pas d’autoriser le nouveau port !
# Avec UFW (Ubuntu/Debian)
sudo ufw allow 2222/tcp
sudo ufw delete allow 22/tcp # Supprimez l'ancien port
sudo ufw enable
# Avec iptables
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT
Conseil : Choisissez un port entre 1024 et 65535. Évitez les ports courants (8080, 3389, etc.). Pour les radioamateurs : 7300, 14074, ou 28074 peuvent être des choix mnémotechniques !
PlutĂ´t que d’exposer SSH directement sur Internet, crĂ©ez un tunnel VPN cryptĂ©. C’est la mĂ©thode recommandĂ©e pour accĂ©der Ă votre station depuis l’extĂ©rieur.
Option 1 : WireGuard (recommandé pour les radioamateurs)
# Installation sur Raspberry Pi / Debian
sudo apt update
sudo apt install wireguard
# Génération des clés
wg genkey | tee privatekey | wg pubkey > publickey
# Configuration serveur : /etc/wireguard/wg0.conf
[Interface]
PrivateKey = CLÉ_PRIVÉE_SERVEUR
Address = 10.0.0.1/24
ListenPort = 51820
[Peer]
PublicKey = CLÉ_PUBLIQUE_CLIENT
AllowedIPs = 10.0.0.2/32
# Activation
sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0
Une fois connecté au VPN, vous accédez à votre station comme si vous étiez sur le réseau local :
# Connexion normale via l'IP VPN
ssh pi@10.0.0.1
# Accès à votre transceiver via Hamlib
ssh -L 4532:localhost:4532 pi@10.0.0.1
# Interface web Pi-Star
http://10.0.0.1
Option 2 : OpenVPN (alternative classique)
# Installation simplifiée avec PiVPN
curl -L https://install.pivpn.io | bash
# Création d'un profil client
pivpn add -n f4hxn-laptop
# Le fichier .ovpn est créé dans ~/ovpns/
Avantages VPN :
• SSH non exposé directement sur Internet
• Accès à tous vos services locaux (WebSDR, Pi-Star, etc.)
• Chiffrement de bout en bout
• Pas besoin d’ouvrir 10 ports diffĂ©rents sur votre box
Fail2ban surveille vos logs et bannit automatiquement les adresses IP qui font trop de tentatives de connexion échouées. Indispensable si votre SSH est exposé sur Internet !
Installation
# Installation
sudo apt update
sudo apt install fail2ban
# Démarrage automatique
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
Configuration pour SSH
# Créez un fichier de configuration local
sudo nano /etc/fail2ban/jail.local
# Contenu du fichier :
[DEFAULT]
bantime = 3600 # 1 heure de bannissement
findtime = 600 # Fenêtre de détection (10 min)
maxretry = 3 # 3 échecs maximum
destemail = f4hxn@example.com
sendername = Fail2Ban-Station
action = %(action_mwl)s # Bannir + email
[sshd]
enabled = true
port = 2222 # Votre port SSH personnalisé
logpath = /var/log/auth.log
maxretry = 3
# Redémarrez fail2ban
sudo systemctl restart fail2ban
Commandes utiles
# Statut général
sudo fail2ban-client status
# Statut SSH spécifique
sudo fail2ban-client status sshd
# Débannir une IP (si vous vous êtes bloqué !)
sudo fail2ban-client set sshd unbanip 192.168.1.50
# Voir les IP bannies
sudo iptables -L -n | grep DROP
Astuce : Ajoutez votre IP fixe (box maison, bureau) dans la whitelist pour éviter de vous bloquer :
ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 VOTRE_IP_PUBLIQUE
Les mises Ă jour corrigent les failles de sĂ©curitĂ©. Un Raspberry Pi obsolète peut ĂŞtre compromis en quelques heures s’il est exposĂ© sur Internet.
Mise à jour manuelle complète
# Mise Ă jour des paquets
sudo apt update
sudo apt upgrade -y
# Mise à jour système complète (kernel, etc.)
sudo apt dist-upgrade -y
# Nettoyage des anciens paquets
sudo apt autoremove -y
sudo apt autoclean
# Redémarrage si nécessaire
sudo reboot
Mises à jour automatiques (recommandé)
# Installation du paquet de mises Ă jour automatiques
sudo apt install unattended-upgrades
# Configuration
sudo dpkg-reconfigure -plow unattended-upgrades
# Vérification
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Vérifier les mises à jour disponibles
# Lister les paquets Ă mettre Ă jour
apt list --upgradable
# Vérifier si un redémarrage est nécessaire
cat /var/run/reboot-required
# Voir les services à redémarrer
cat /var/run/reboot-required.pkgs
Planning de maintenance pour radioamateurs
# Créer un script de mise à jour
sudo nano /usr/local/bin/update-station.sh
#!/bin/bash
echo "=== Mise Ă jour station F4HXN ==="
apt update
apt upgrade -y
apt autoremove -y
echo "=== Terminé le $(date) ===" >> /var/log/update-station.log
# Rendre exécutable
sudo chmod +x /usr/local/bin/update-station.sh
# Planifier avec cron (tous les dimanches Ă 3h du matin)
sudo crontab -e
# Ajoutez :
0 3 * * 0 /usr/local/bin/update-station.sh
Matériel à maintenir à jour :
• Raspberry Pi (Raspbian/Debian)
• Hotspots DMR (Pi-Star)
• Serveurs SDR (WebSDR, OpenWebRX)
• Routeurs OpenWrt
• Proxmox / serveurs virtuels
Perdre votre clĂ© privĂ©e = perdre l’accès Ă vos serveurs. Une sauvegarde rĂ©gulière est essentielle, mais elle doit ĂŞtre sĂ©curisĂ©e !
Localisation de vos clés
# Vos clés privées sont ici :
ls -la ~/.ssh/
# Fichiers importants :
~/.ssh/id_ed25519 # Clé privée (À PROTÉGER !)
~/.ssh/id_ed25519.pub # Clé publique (peut être partagée)
~/.ssh/config # Configuration SSH
~/.ssh/known_hosts # Empreintes serveurs connus
Méthode 1 : Sauvegarde chiffrée sur clé USB
# Créer une archive chiffrée avec GPG
tar czf - ~/.ssh | gpg --symmetric --cipher-algo AES256 > ssh-backup-$(date +%Y%m%d).tar.gz.gpg
# Copier sur clé USB
cp ssh-backup-*.tar.gz.gpg /media/usb-backup/
# Pour restaurer plus tard :
gpg -d ssh-backup-20250208.tar.gz.gpg | tar xz -C ~/
Méthode 2 : Coffre-fort de mots de passe
Utilisez un gestionnaire sécurisé comme :
• Bitwarden (open-source, peut être auto-hébergé)
• 1Password (commercial, supporte les clés SSH)
Méthode 3 : Sauvegarde cloud chiffrée
# Avec rclone vers votre NAS Synology/QNAP ou cloud
# Chiffrement côté client avec rclone crypt
rclone copy ~/.ssh remote-encrypted:backup/ssh/ --exclude "known_hosts"
# Ou avec rsync vers un serveur distant
rsync -avz -e "ssh -p 2222" ~/.ssh/ backup@nas.f4hxn.fr:/backup/ssh/
Créer des clés de secours
# Générer une deuxième paire de clés "rescue"
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_rescue -C "f4hxn-rescue"
# L'ajouter sur tous vos serveurs
ssh-copy-id -i ~/.ssh/id_ed25519_rescue.pub pi@station1
ssh-copy-id -i ~/.ssh/id_ed25519_rescue.pub pi@station2
# Stocker cette clé rescue dans un endroit différent
ATTENTION :
• Ne stockez JAMAIS vos clés privées sur le cloud en clair
• N’envoyez JAMAIS vos clĂ©s privĂ©es par email
• Ne commitez JAMAIS de clés dans Git/GitHub
• Utilisez TOUJOURS une passphrase sur vos clés privées
Bonnes pratiques :
• Sauvegardez dans au moins 2 endroits différents
• Testez la restauration de vos sauvegardes
• Renouvelez vos clés tous les 2-3 ans
• Documentez où sont vos sauvegardes (coffre-fort physique, testament numérique)
Pour aller plus loin
SSH est un outil puissant qui ouvre de nombreuses possibilitĂ©s pour les radioamateurs modernes. Que ce soit pour administrer votre hotspot DMR, accĂ©der Ă votre station HF depuis n’importe oĂą dans le monde, ou gĂ©rer votre infrastructure SDR, maĂ®triser SSH est devenu indispensable.
Ressources complémentaires :
- Documentation SSH officielle :
man ssh - Configuration Hamlib pour contrĂ´le radio distant
- Tutoriels WireGuard VPN pour radioamateurs
- Guides Pi-Star et MMDVM
73 de F4HXN !