
Recientemente me interesé en SSH, así que intenté configurar un servidor SSH en mi computadora portátil Linux. Estoy ejecutando moonOS, una versión de Ubuntu con Enlightenment WM.
En primer lugar, ejecuté "sudo apt-get install openssh-server". Todo muy bien. Ahora miré la configuración de mi enrutador y, aunque no vi ninguna configuración llamada explícitamente "reenvío de puertos", había una casilla de verificación para habilitar SSH. Marqué esta casilla y configuré el puerto en 22. Después de esto, probé "ssh localhost" y se conectó bien.
Ahora verifiqué mi dirección IP usando www.whatismyip.com, luego ejecuté PuTTY en mi computadora portátil WinXP, ingresé la dirección IP, el puerto, seleccioné SSH, etc. Luego PuTTY se quejó de que "la conexión fue rechazada". Bueno. Arranqué un Jolicloud LiveUSB en mi netbook y ejecuté "ssh [mi nombre de usuario]@[mi dirección IP]". Nuevamente la conexión fue rechazada.
Así que corrí a Internet y busqué la documentación de OpenSSH. En una suposición descabellada, intenté ejecutar "sshd" en la computadora portátil moonOS, pero simplemente respondió: "sshd re-exec requiere ejecución con una ruta absoluta".
¿Un poco de ayuda? No tengo idea de qué estoy haciendo mal aquí.
Respuesta1
sshd re-exec requiere ejecución con una ruta absoluta"
Para esa parte, ejecútelo con una ruta completa, por ejemplo.
/usr/sbin/sshd
en lugar de solosshd
Respuesta2
¿Qué tipo de enrutador tienes? Parece que habilitó SSH para su enrutador, en lugar de reenviar el puerto 22 para que apunte a su computadora portátil.
Debe reenviar el tráfico del puerto TCP 22 a la IP de su computadora portátil.
Respuesta3
Algo que debe tener en cuenta es que, por alguna razón, muchos enrutadores no le permitirán salir y regresar a una dirección interna.
Lo que esto significa es que si ambas computadoras están en la misma red, es posible que no pueda conectarse mediante ssh a su dirección IP pública y reenviar el puerto a una IP interna.
Realmente no sé mucho sobre esto, pero encontré este problema la semana pasada y tuve que realizar pruebas en una computadora fuera de mi red local para tener éxito.
Respuesta4
Hilo extremadamente antiguo, pero quiero aportar una respuesta realmente elegante.
sshd ya está en su $PATH, así que aquí hay una forma rápida de volver a ejecutarlo.
$ `which sshd`
¿Por qué funciona esto? Las comillas invertidas sustituyen la salida de which
, y la salida es la ruta absoluta de sshd
.