Certamente não faz cena que você possa fazer uma conexão SSH a partir de seu próprio PC e não de um PC diferente na mesma rede depois de instalar o openssh-server (assumindo que você não alterou as configurações padrão e não há mágica a rede impedindo a conexão de passar).
A primeira coisa que eu faria é verificar se o SSH está escutando em todos os adaptadores Ethernet (e não apenas no localhost). Você pode fazer isso com netstat
, listando números em vez de nomes de serviço (-n) usando TCP (-t) que estão atendendo (-l) e passando os resultados para grep
pesquisando :22
, que é a porta que O SSH escuta por padrão:
netstat -ntl | grep :22
Você deve obter o seguinte resultado:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
Se você não obtiver esse resultado, esse talvez seja seu primeiro problema. Verificar se o servidor SSH foi realmente iniciado (reiniciar com sudo server ssh restart
) é a primeira coisa que eu tentaria (mas provavelmente não é o caso para você, pois você pode se conectar a partir do host local). A segunda coisa que eu observaria seria a configuração do servidor SSH em ordem.
Se esse é o resultado que recebi de netstat
, posso supor que o servidor SSH está escutando em todos os adaptadores Ethernet, o que significa que as conexões de outro PC na mesma rede devem funcionar.
A próxima coisa que eu verifico é o endereço IP do PC para garantir que estou especificando o endereço IP correto do PC do qual estou tentando me conectar. ifconfig
deve me fornecer as informações de que preciso.
No meu PC, ifconfig
me dá:
eth0 Link encap:Ethernet HWaddr 00:26:9e:e8:cf:31
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:42 Base address:0xc000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:4239 errors:0 dropped:0 overruns:0 frame:0
TX packets:4239 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1341552 (1.3 MB) TX bytes:1341552 (1.3 MB)
wlan0 Link encap:Ethernet HWaddr c4:17:fe:3c:aa:d7
inet addr:192.168.1.66 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::c617:feff:fe3c:aad7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:54149 errors:0 dropped:0 overruns:0 frame:0
TX packets:24983 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:29122251 (29.1 MB) TX bytes:4707094 (4.7 MB)
Isso mostra que meu eth0
não tem um endereço IP (porque não está conectado) e que meu adaptador sem fio, wlan0
tem o endereço IP 192.168.1.66
. Este é o endereço IP que eu preciso usar para conectar outro PC na mesma rede.
Em outro PC, supondo que eu tenha feito login com o mesmo nome de usuário que eu tenho no PC "problemático", eu conectaria de um terminal com:
ssh 192.168.1.66
Ainda não funciona?
A próxima coisa a tentar é verificar se existe algum tipo de comunicação de rede entre os PCs. Tentando pingar o PC "problema" do outro. Se você não conseguir uma resposta de ping, provavelmente não é um problema de SSH, mas sim um problema de rede.
Outra coisa que você poderia tentar ... Alguns meses atrás, eu tive um problema ao tentar imprimir na minha impressora sem fio do meu laptop. Acabou por ser o roteador sem fio causando o problema. Após a reinicialização de um roteador, a impressão estava funcionando novamente. Você já tentou reiniciar seu roteador?
Ainda sem sorte?
Ok, agora vamos tentar sudo tcpdump
na máquina A. Queremos despejar todos os pacotes com o endereço IP de origem 192.168.1.33 (máquina B) que está chegando na porta 22 sobre eth0
(supondo que sua rede adaptador é eth0
):
sudo tcpdump -i eth0 src host 192.168.1.33 and dst port 22
Agora, na máquina B, tente:
ssh 192.168.1.22
O tcpdump
produz qualquer saída?
Poderíamos também tentar telnet
da máquina B para tentar conectar à porta 22 na máquina A:
telnet 192.168.1.22 22
Isso deve produzir algo como:
user@machineb:~$ telnet 192.168.1.22 22
Trying 192.168.1.22...
Connected to 192.168.1.22.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.8p1 Debian-1ubuntu3
Algum outro computador pode se conectar à máquina A?
A máquina B pode se conectar a outros computadores?