Recentemente, comecei a usar o monitor para monitorar o status do sshd no meu servidor CentOS 5.4. Isso funciona bem, mas de vez em quando os relatórios monit que o sshd não está mais sendo executado. Isso não é verdade - eu ainda sou capaz de acessar o servidor via ssh, no entanto, observe o seguinte:
- Não há mais nenhum arquivo PID em /var/run/sshd.pid - após a reinicialização, esse arquivo existe. Depois que ele for removido, reiniciar o sshd via
service sshd restart
não criará o arquivo PID.
-
sudo service sshd status
reports openssh-daemon is stopped
- novamente, reiniciar o sshd não altera isso, mas uma reinicialização faz isso.
-
sudo service sshd stop
reports failed
, presumivelmente devido ao arquivo PID ausente.
Alguma ideia do que está acontecendo?
Atualizar
sudo netstat -lptun
fornece a seguinte saída relacionada à porta 22
tcp 0 0 :::22 :::* LISTEN 20735/sshd
Eliminar o processo com este PID como sugerido por @Henry e, em seguida, iniciar o sshd por meio dos resultados do serviço em service sshd status
, reconhecendo o processo pelo PID novamente. Ainda gostaria de entender isso melhor.
A verificação de RPM sugerida por alguns respondentes mostra isso:
sudo rpm -vV openssh openssh-server openssh-clients | grep 'S\.5'
S.5....T c /etc/pam.d/sshd
S.5....T c /etc/ssh/sshd_config
/etc/pam.d/sshd
tem o seguinte conteúdo:
#%PAM-1.0
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
session optional pam_keyinit.so force revoke
session include system-auth
#session required pam_loginuid.so
Esta última linha deve ser comentada?
Atualizar
Aqui está a saída do script do @YannickGirouard:
$ sudo ./sshd_test
Searching for the process listening on port 22...
Found the following PID: 21330
Command line for PID 21330: /usr/sbin/sshd
Listing process(es) relating to PID 21330:
UID PID PPID C STIME TTY TIME CMD
root 21330 1 0 14:04 ? 00:00:00 /usr/sbin/sshd
Listing RPM information about openssh packages:
Name : openssh Relocations: (not relocatable)
Version : 4.3p2 Vendor: CentOS
Release : 72.el5_7.5 Build Date: Tue 30 Aug 2011 12:34:14 AM BST
Install Date: Sun 06 Nov 2011 12:50:57 AM GMT Build Host: builder10.centos.org
Group : Applications/Internet Source RPM: openssh-4.3p2-72.el5_7.5.src.rpm
Size : 745390 License: BSD
Signature : DSA/SHA1, Fri 02 Sep 2011 01:13:01 AM BST, Key ID a8a447dce8562897
URL : http://www.openssh.com/portable.html
Summary : The OpenSSH implementation of SSH protocol versions 1 and 2
------------------------------------------------------
Name : openssh-clients Relocations: (not relocatable)
Version : 4.3p2 Vendor: CentOS
Release : 72.el5_7.5 Build Date: Tue 30 Aug 2011 12:34:14 AM BST
Install Date: Sun 06 Nov 2011 12:51:04 AM GMT Build Host: builder10.centos.org
Group : Applications/Internet Source RPM: openssh-4.3p2-72.el5_7.5.src.rpm
Size : 871132 License: BSD
Signature : DSA/SHA1, Fri 02 Sep 2011 01:13:01 AM BST, Key ID a8a447dce8562897
URL : http://www.openssh.com/portable.html
Summary : The OpenSSH client applications
------------------------------------------------------
Name : openssh-server Relocations: (not relocatable)
Version : 4.3p2 Vendor: CentOS
Release : 72.el5_7.5 Build Date: Tue 30 Aug 2011 12:34:14 AM BST
Install Date: Sun 06 Nov 2011 12:51:04 AM GMT Build Host: builder10.centos.org
Group : System Environment/Daemons Source RPM: openssh-4.3p2-72.el5_7.5.src.rpm
Size : 492478 License: BSD
Signature : DSA/SHA1, Fri 02 Sep 2011 01:13:01 AM BST, Key ID a8a447dce8562897
URL : http://www.openssh.com/portable.html
Summary : The OpenSSH server daemon
------------------------------------------------------
No entanto, desde então, tenho conseguido trabalhar matando o processo e começando de novo, como sugerido por @Henry abaixo, então talvez eu não esteja mais vendo a mesma coisa. Tentarei novamente se estiver vendo o problema novamente após a próxima reinicialização.
Atualização - 14 de março
Monit me alertou que o sshd havia desaparecido e, novamente, eu posso ssh no servidor. Então agora eu posso rodar o script
$ sudo ./sshd_test
Searching for the process listening on port 22...
Found the following PID: 2208
Command line for PID 2208: /usr/sbin/sshd
Listing process(es) relating to PID 2208:
UID PID PPID C STIME TTY TIME CMD
root 2208 1 0 Mar13 ? 00:00:00 /usr/sbin/sshd
root 1885 2208 0 21:50 ? 00:00:00 sshd: dunx [priv]
Listing RPM information about openssh packages:
Name : openssh Relocations: (not relocatable)
Version : 4.3p2 Vendor: CentOS
Release : 72.el5_7.5 Build Date: Tue 30 Aug 2011 12:34:14 AM BST
Install Date: Sun 06 Nov 2011 12:50:57 AM GMT Build Host: builder10.centos.org
Group : Applications/Internet Source RPM: openssh-4.3p2-72.el5_7.5.src.rpm
Size : 745390 License: BSD
Signature : DSA/SHA1, Fri 02 Sep 2011 01:13:01 AM BST, Key ID a8a447dce8562897
URL : http://www.openssh.com/portable.html
Summary : The OpenSSH implementation of SSH protocol versions 1 and 2
------------------------------------------------------
Name : openssh-clients Relocations: (not relocatable)
Version : 4.3p2 Vendor: CentOS
Release : 72.el5_7.5 Build Date: Tue 30 Aug 2011 12:34:14 AM BST
Install Date: Sun 06 Nov 2011 12:51:04 AM GMT Build Host: builder10.centos.org
Group : Applications/Internet Source RPM: openssh-4.3p2-72.el5_7.5.src.rpm
Size : 871132 License: BSD
Signature : DSA/SHA1, Fri 02 Sep 2011 01:13:01 AM BST, Key ID a8a447dce8562897
URL : http://www.openssh.com/portable.html
Summary : The OpenSSH client applications
------------------------------------------------------
Name : openssh-server Relocations: (not relocatable)
Version : 4.3p2 Vendor: CentOS
Release : 72.el5_7.5 Build Date: Tue 30 Aug 2011 12:34:14 AM BST
Install Date: Sun 06 Nov 2011 12:51:04 AM GMT Build Host: builder10.centos.org
Group : System Environment/Daemons Source RPM: openssh-4.3p2-72.el5_7.5.src.rpm
Size : 492478 License: BSD
Signature : DSA/SHA1, Fri 02 Sep 2011 01:13:01 AM BST, Key ID a8a447dce8562897
URL : http://www.openssh.com/portable.html
Summary : The OpenSSH server daemon
------------------------------------------------------
Mais uma vez, quando procuro /var/run/sshd.pid
, não o encontro.
$ cat /var/run/sshd.pid
cat: /var/run/sshd.pid: No such file or directory
$ sudo netstat -anp | grep sshd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2208/sshd
$ sudo kill 2208
$ sudo service sshd start
Starting sshd: [ OK ]
$ cat /var/run/sshd.pid
3794
$ sudo service sshd status
openssh-daemon (pid 3794) is running...
É possível que o sshd esteja reiniciando e não criando um pidfile por algum motivo?