Não é possível efetuar login em um servidor por conexão ssh

2

foi conectado a um servidor via ssh através da porta 22, e decidiu matar todos os usuários conectados com o usuário root com o seguinte comando:

pkill -9 -u root

Agora, quando tento efetuar login pelo [email protected], recebo a mensagem:

ssh: connect to host 190.169.94.56 port 22: Connection refused

Certifico-me de que o SSH está de fato em execução na porta 22. Na máquina do servidor, eu corro:

 netstat -untap | grep 190.169.94.56
    (Not all processes could be identified, non-owned process info
    will not be shown, you would have to be root to see it all.)
    tcp        0      0 190.169.94.9:41267      190.169.94.56:22        ESTABLISHED 29673/ssh

Eu fiz ping no servidor 190.169.94.56 e respondi corretamente:

ping 190.169.94.56
PING 190.169.94.56 (190.169.94.56) 56(84) bytes of data.
64 bytes from 190.169.94.56: icmp_seq=1 ttl=64 time=0.524 ms
64 bytes from 190.169.94.56: icmp_seq=2 ttl=64 time=0.454 ms
64 bytes from 190.169.94.56: icmp_seq=3 ttl=64 time=0.423 ms
64 bytes from 190.169.94.56: icmp_seq=4 ttl=64 time=0.419 ms
--- 190.169.94.56 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
rtt min/avg/max/mdev = 0.419/0.455/0.524/0.042 ms

Eu tentei mudar a porta e obtive o mesmo resultado. Como posso me conectar a ele novamente? É uma máquina Debian, no caso que importa.

    
por franvergara66 10.04.2014 / 18:07

3 respostas

13

Para verificar se está em execução, você deve executar netstat -tnpl | grep :22 e ps aux | grep sshd . O SSHD mantém sua conexão aberta mesmo que você a interrompa para que você não perca o controle do servidor se, por exemplo, cometer um erro no sshd_config antes de reiniciá-lo.

EDITAR:

Confesso que só agora vi seu comando pkill -u root -9 . Isso é muito errado e eu diria para você realmente reiniciar seu servidor porque você matou processos importantes do sistema (como o daemon de log e assim por diante).

    
por 10.04.2014 / 18:14
2

Se sua meta fosse apenas desconectar todos os usuários conectados com root user, então pkill seria o comando incorreto. pkill pára todo processo de propriedade do usuário especificado, ele não se restringe apenas a usuários logados.

Você deve verificar os processos em execução com os comandos do @Florin Asavoiae no servidor que recusa as conexões e, em seguida, usar /etc/init.d/ssh start para iniciar o sshd .

Se você pode criar novas conexões SSH para 190.169.94.56 através de um servidor intermediário, então há algum outro problema acontecendo, talvez um firewall bloqueando o tráfego.

    
por 10.04.2014 / 18:24
2

Existem dois tipos diferentes de sshd que são executados em um sistema Linux: existe um sshd "mestre" rodando como root que escuta novas conexões, e existe o sshd de nível de usuário que é executado como o id do usuário e qual o O master sshd é desativado quando a conexão é estabelecida e o usuário é autenticado. O que você fez com o seu comando pkill foi para matar o sshd mestre, mas não para matar o seu sshd de nível de usuário já em execução. Para corrigir isso, você muda o usuário (su) para root no host onde você executou o pkill e emite o seguinte: service sshd restart

    
por 10.04.2014 / 21:11

Tags