Estou tentando:
$ ssh eric@myserver
onde myserver é uma máquina na intranet. Posso executar ping myserver ou responder ao HTTP na porta 8080, etc, mas quando tento ssh, recebo
ssh: connect to host myserver port 22: Connection refused
Estou usando o Ubuntu 10.
ps -ax, conforme sugerido, dá:
eric@Isaiah:~$ ps -ax | grep ssh Warning: bad ps syntax, perhaps a bogus "-"? See http://procps.sf.net/faq.html 1641 ? Ss 0:04 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session gnome-session 18376 pts/3 S+ 0:00 grep --color=auto ssh
Resposta
Você não tem um daemon SSH em execução. Se você olhar a saída do comando ps ax, verá que os únicos dois processos com “ssh” na descrição são ssh-agent (que faz algo totalmente diferente de sshd) e do grep ssh processo que você “está usando para filtrar a saída de ps.
Dependendo de qual distribuição instalada, pode ser necessário instalar ou executar o servidor ssh, geralmente chamado de
ou sshd dependendo do seu gerenciador de pacotes.
Resposta
Passos para depurar o problema acima:
-
Use a ferramenta
nmappara saber quais portas estão abertas nesse servidor .nmapé um scanner de porta. Uma vez que pode ser possível que o servidor ssh esteja sendo executado em uma porta diferente.nmapfornecerá uma lista de portas que estão abertas.$ nmap myserver
2 Agora você pode verificar qual servidor está sendo executado em uma determinada porta. Suponha que na saída do nmap, a porta 2424 esteja aberta. Agora você pode saber qual servidor está executando em 2424 usando a ferramenta nc (netcat).
$ nc -v -nn myserver portno
Suponha que a saída da porta 2424 seja:
myserver 2424 open SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu5
Isso significa que o ssh está rodando em 2424.
Continue mudando o portno no comando acima e verifique todas as portas que estão listadas como abertas pelo nmap.
Resposta
Isso significa que o servidor ssh não está rodando naquela máquina ou o firewall não está permitindo a passagem do ssh. Você pode verificar se o ssh está sendo executado com “ps -ax | grep ssh”.
Comentários
Resposta
O as duas opções anteriores são boas. Você também pode usar os argumentos -v ou -vv.
$ ssh -vv eric@myserver
Resposta
Eu também enfrentei esse problema, mas em um ambiente VirtualBox, então, para resolvê-lo, precisamos definir o endereço IP para estar na mesma LAN segmento; por exemplo:
Em minha máquina host, abro cmd e digito ipconfig. Eu obtenho 100.2.2.1 (por exemplo).
Portanto, na máquina virtual, devemos definir o endereço da VM em /etc/hosts para um valor como 100.2.2.3 , dê uma olhada no número final e salte a máquina virtual, mas antes de iniciar a máquina virtual, configure a rede nas configurações da máquina virtual, então precisamos definir o adaptador de rede na conexão em ponte.
Tudo isso está em um ambiente Solaris.
ps -ax. Não tenho certeza do que significa.sshnão está funcionando.sshd, o que significa quesshdnão está em execução. A solução é iniciarsshd.