Ciertamente, no se cree que pueda hacer una conexión SSH desde su propia PC y no desde una PC diferente en la misma red después de instalar openssh-server (suponiendo que no haya cambiado la configuración predeterminada y que no haya magia en la parada de la red la conexión de pasar).
Lo primero que haría es verificar que SSH esté escuchando en todos los adaptadores Ethernet (y no solo en el host local). Puede hacerlo con una netstat
lista de números en lugar de nombres de servicio (-n) utilizando TCP (-t) que están escuchando (-l) y pasando los resultados a la grep
búsqueda de :22
cuál es el puerto en el que SSH escucha de manera predeterminada:
netstat -ntl | grep :22
Deberías obtener el siguiente resultado:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
Si no obtiene ese resultado, ese es posiblemente su primer problema. sudo server ssh restart
Lo primero que probaría sería comprobar que el servidor SSH haya comenzado (reiniciar con ) (pero probablemente no sea el caso para usted, ya que puede conectarse desde localhost). La segunda cosa que miraría es que la configuración del servidor SSH está en orden.
Si ese es el resultado que obtuve, netstat
entonces puedo suponer que el servidor SSH está escuchando en todos los adaptadores Ethernet, lo que significaría que las conexiones desde otra PC en la misma red deberían funcionar.
Lo siguiente que miraría es la dirección IP de la PC para asegurarme de que estoy especificando la dirección IP correcta de la PC desde la que intento conectarme. ifconfig
debería darme la información que necesito.
En mi PC, ifconfig
me da:
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)
Esto me muestra que mi eth0
no tiene una dirección IP (porque no está conectada) y que mi adaptador inalámbrico wlan0
tiene la dirección IP 192.168.1.66
. Esta es la dirección IP que necesito usar para conectarme desde otra PC en la misma red.
En otra PC, suponiendo que haya iniciado sesión con el mismo nombre de usuario que tengo en la PC "problemática", me conectaría desde un terminal con:
ssh 192.168.1.66
¿Aún no funciona?
Lo siguiente que debe intentar es verificar si hay algún tipo de comunicación de red entre las PC. Intentando hacer ping a la PC "problemática" desde la otra. Si no puede obtener una respuesta de ping, entonces probablemente no sea un problema de SSH sino un problema de red.
Otra cosa que podría probar ... Hace unos meses, tuve un problema al intentar imprimir en mi impresora inalámbrica desde mi computadora portátil. Resultó ser el enrutador inalámbrico que causa el problema. Después de reiniciar el enrutador, la impresión estaba en funcionamiento nuevamente. ¿Has intentado reiniciar tu enrutador?
¿Aún no tienes suerte?
Bien, ahora intentaremos sudo tcpdump
en la máquina A. Queremos volcar todos los paquetes con la dirección IP de origen 192.168.1.33 (máquina B) que ingresa en el puerto 22 eth0
(suponiendo que su adaptador de red sea eth0
):
sudo tcpdump -i eth0 src host 192.168.1.33 and dst port 22
Ahora en la máquina B intente:
ssh 192.168.1.22
¿ tcpdump
Produce alguna salida?
También podríamos intentar telnet
desde la máquina B para intentar conectarnos al puerto 22 en la máquina A:
telnet 192.168.1.22 22
Esto debería producir 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
¿Se pueden conectar otras computadoras a la máquina A?
¿Puede la máquina B conectarse a otras computadoras?
ping 192.168.1.22
. Si no recibe una respuesta, entonces SSH probablemente no sea el problema, probablemente sea algún otro problema de red.