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
nmap
para 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.nmap
fornecerá 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.ssh
não está funcionando.sshd
, o que significa quesshd
não está em execução. A solução é iniciarsshd
.