Proxmox : Astuce Container LXC
Si comme moi
1- vous utilisez les containers Debian 11
2- vous aimez jouer avec les ports SSH soit pour le plaisir soit par besoin dans votre infra.
Vous avez sans doute dû vous apercevoir que la connexion SSH se perdait au reboot d'un container LXC sur Proxmox.
En effet il ne suffit pas de faire la modif dans /etc/ssh/sshd_config
Cela fonctionnera sans aucuns soucis mais dès le reboot du container, le service sera à l'arrêt, vous le relancez manuellement, et la fois d'après, rebelote.
Voyons comment corrigé cela rapidement et de façon durable, mais aussi très brièvement le pourquoi.
Pourquoi ?
Le modèle Debian 11 LXC fournit désormais SSHD en tant que service socket. Cela signifie que systemd ne démarrera le démon SSH que lorsqu'un utilisateur ouvre une connexion vers le port SSH et tente de se connecter. Lorsqu'il n'y a personne de connecté, SSHD n'est pas démarré.
Comment corriger cela ?
Après avoir modifié le port SSH dans /etc/ssh/sshd_config une autre modification
s'impose :
Il faut également modifier le port dans /etc/systemd/system/sockets.target.wants/ssh.socket
[Unit]
Description=OpenBSD Secure Shell server socket
Before=ssh.service
Conflicts=ssh.service
ConditionPathExists=!/etc/ssh/sshd_not_to_be_run
[Socket]
ListenStream=22
Accept=yes
[Install]
WantedBy=sockets.target
Ou en une ligne, en prenant soin de modifier le port ListenStream par celui que vous voulez :
sed -i "s/ListenStream=22/ListenStream=xxxxx/" /etc/systemd/system/sockets.target.wants/ssh.socket