Bonjour
J'ai un server Proxmox.
Dedans, des conteneurs.
Je crée un nouveau conteneur Ubnuntu 22.04, avec Virtualmin / Webmin.
SSH fonctionne si je le démarre manuellement (logon OK).
Mais si je reboot le conteneur, le sshd n'est PAS démarré !
Le SSH est à l'arrêt et je dois manuellement le démarrer depuis Webmin ou via la console Proxmox.
Pq ce SSH ne démarre pas tout seul ?
J'ai essayé les commandes du genre "systemctl stop start disable enable" etc…
rien ne change !
SSH fonctionne correctement QUE si je le démarre manuellement après le reboot du conteneur…
Une idée ?
Merci et bon après-midi.
Bonjour,
que disent les logs ?
Cordialement, janus57
je n'ai rien trouvé dans les logs…
Qd je démarre SSHD, je vois des classiques clients SSH qui essayent de se connecter et se font jeter (moi ça va).
Mais pas vu de msg d'erreur de la tâche SSH dans /var/log/syslog.
Je vais encore vérifier mais je dois partir maintenant.
Merci Janus
J'ai évidemment chercher dans les menus de config de Webmin, mais rien qui permette de dire "ok démarre SSH après reboot ou pas" …
SSH est lancé sur quel port en théorie, le 22 ?
Il faudrait essayer :
> systemctl enable ssh.socket
Et reboot. Si ça ne marche toujours pas,il faut vérifier que le port indiqué dans : /lib/systemd/system/ssh.socket est le même que dans /etc/ssh/sshd_config
oui, j'ai modifié sur un port du genre 1234, mais que ce soit le 22 ou le 1234, ça ne change rien :
- après reboot, le SSH ne fonctionne pas
- je dois démarrer manuellement le SSH, ensuite le ssh fonctionne
SYSLOG :
Je fais un logrotate juste avant le reboot pour avoir peu de log.
* logrotate
* reboot
* Je teste le SSH. ça ne fonctionne pas
* Je cherche "ssh" dans /var/log/syslog : RIEN
* service ssh start : ok ça fonctionne
--------------------------
Après reboot :
# ps -aux | grep ssh
root 1715 0.0 0.0 7016 2092 pts/3 S+ 17:42 0:00 grep --color=auto ssh
càd qu'aucune tâche "ssh" ne tourne !
#service ssh start
alors je vois la tâche SSH :
# ps -aux | grep ssh
root 1598 0.0 0.2 15444 8752 ? Ss 17:47 0:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
root 1600 0.0 0.0 7016 2092 pts/3 S+ 17:47 0:00 grep --color=auto ssh
--------------------------
# systemctl enable ssh.socket
reboot
test SSH : ne fonctionne pas
La commande "systemctl enable ssh.socket" s'est terminée sans message, mais ça ne change rien.
Après reboot, pas de serveur SSH actif !
rien dans syslog !
Merci
/lib/systemd/system/ssh.socket
Le fichier /lib/systemd/system/ssh.socket contient :
ListenStream=22
Il faut mettre :
ListenStream=1234
Je vais essayer ça…
MAIS
dans mon autre conteneur en Ubuntu 20.04, j'ai
[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
Je n'ai jamais dû modifier cela dans les autres conteneurs pour que SSH fonctionne après reboot
Conteneur 20.04
reboot
# ps -aux | grep ssh
root 237 0.0 0.1 12208 6808 ? Ss 21:04 0:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
root 837 0.0 0.0 8172 656 pts/3 S+ 21:04 0:00 grep --color=auto ss
J'ai rebooté le conteneur 20.04. SSH tourne. Je n'ai pas dû le démarrer.
après avoir mis
-----------------
Le fichier /lib/systemd/system/ssh.socket contient :
ListenStream=22
Il faut mettre :
ListenStream=1234
-----------------
J'ai fait : systemctl disable ssh
puis
# systemctl enable ssh
Synchronizing state of ssh.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable ssh
Created symlink /etc/systemd/system/sshd.service → /lib/systemd/system/ssh.service.
Created symlink /etc/systemd/system/multi-user.target.wants/ssh.service → /lib/systemd/system/ssh.service.
reboot
ps -aux | grep ssh
root 1105 0.0 0.0 7016 2220 pts/3 S+ 21:12 0:00 grep --color=auto ssh
et le ssh ne tourne toujours pas.
Merci
> systemctl enable ssh.socket
ssh.socket est censé lancé ssh au premier accès à ssh, il ne tournera pas tant qu'aucun accès est fait. C'est ssh.socket qui écoute sur le port et qui lance ssh.service
C'est la théorie lue sur google, je n'ai pas de conteneur mais c'est ce que j'ai compris du fonctionnement.
Bonsoir Christophe
Oui, ça fonctionne !
Donc, si j'ai bien compris, le serveur SSH ne démarre PAS après le reboot, mais systemd le lance au 1er appel SSH… sur le port 22 … et évidemment ça ne fonctionnait pas avec mon port 1234.
En modifiant le port dans ssh.socket, ensuite systemd va lancer SSH au 1er appel sur le port 1234.
--------------------------
Le fichier /lib/systemd/system/ssh.socket contient :
ListenStream=22
Il faut mettre :
ListenStream=1234
--------------------------
ça semble fonctionne !
Mais je n'ai jamais dû faire cela avant avec mes précédents conteneurs Ubuntu 18.04 ou 20.04…
Peut-être que j'avais fait la modif du port autrement ?
Le principal est que j'ai compris. ça fonctionne.
Et j'ai appris une chose de plus.
Merci