Recientemente configuré SSH en mi Raspberry Pi. Ha ido muy bien, especialmente desde que puedo controlar la computadora a través de mi iPhone con la aplicación Server Auditor . Lamentablemente, esto solo funciona a través de la red local.
¿Cómo puedo hacer que mi SSH funcione cuando estoy fuera de casa? (Preferiblemente funciona con la aplicación).
Respuestas:
Estos son los pasos que utilicé (en Debian) que pueden resultarle útiles.
1.Configuración de IP estática para el Pi.
a. Abra el archivo de interfaces con el comando
b.Cambie el archivo de interfaces a lo siguiente (Esto funciona para mí, no estoy seguro de si se pueden excluir algunas de las líneas).
c. Verifique si el Ip se cambia usando el comando ifconfig
2.Configurando un DNS dinámico
Lo más probable es que la dirección IP asignada por su ISP sea dinámica, por lo que necesitamos una forma de resolver los cambios en la dirección IP. Utilizo el software dnsdynamic y ddclient para lograr esto. Ambos son de uso gratuito.
Regístrese para obtener una cuenta con dnsdynamic
b. Agregue un nuevo dominio y seleccione un nombre y el dominio de la lista. Puede elegir cualquiera de los dominios disponibles con el subdominio que elija. Haga clic en verificar disponibilidad y luego agregue
3.Configuración de ddclient en Pi
a.Instale ddclient usando el comando
b.Abra el archivo de configuración para ddclient usando el siguiente comando y agregue las siguientes líneas.
y cambie el archivo a lo siguiente.
y guarda el archivo.
d. Queremos que el servicio ddclient se inicie automáticamente al reiniciar, así que haga lo siguiente.
Agregue el siguiente comando antes de salir 0 (que es la última línea)
Guarde el archivo. Para iniciar ddclient, reinicie su pi o ejecute el comando anterior en el indicador. Mantendrá su nombre de dominio actualizado con la dirección IP actual cambiando cuando sea necesario.
4 reenvío de puertos
a. Encuentre el modelo de su enrutador.
b. Ir a portforward.com
c. Ingrese la marca y el modelo de su enrutador para encontrar la guía detallada sobre el puerto de reenvío.
d. Después de seleccionar la marca y el modelo del enrutador, haga clic en la guía predeterminada de la página redirigida.
e. En el cuadro de texto Ip estático , ingrese la IP estática del Pi que proporcionó en el Paso 1.
f. Siga los pasos y reenvíe el puerto 22. El puerto de origen debe ser 22 y el puerto de destino puede ser cualquier cosa. Recuerde usar el puerto de destino cuando ingrese a pi. Para evitar confusiones, tiendo a usar el mismo origen y destino Puerto.
Si estaba siguiendo el tutorial, inicie sesión en su pi desde cualquier lugar mediante el reemplazo de la dirección IP con el nombre de dominio. por ejemplo, yo uso [email protected]: 22 para ingresar a mi pi.
fuente
sudo
en/etc/rc.local
, no es que ya se está ejecutando como root?Primero querrás configurar el reenvío de puertos. Cada enrutador es ligeramente diferente, por lo que tendrá que buscar los detalles de su enrutador.
Hay guías prácticas de reenvío de puertos genéricos que pueden funcionar para la mayoría de los enrutadores, pero sugeriría encontrar una guía para su modelo de enrutador real.
Establezca un puerto memorable para vincular a su raspberry pi, como 23456 o algo así. Tenga cuidado de no sobrescribir los números de puerto comunes .
Finalmente, usando ssh haz lo siguiente:
Dónde:
-p
comando le dice a ssh en qué puerto probar el túnelfuente
Acceder a su RaspberryPi (o incluso computadoras portátiles / servidores) desde fuera de su red doméstica (es decir, desde Internet) no es una tarea fácil, porque su computadora portátil o RaspberryPi solo tiene una dirección IP local (en el rango de 10.xxx o 192.168.xx rango). No tiene una dirección IP pública visible desde Internet.
La respuesta simple a su pregunta es utilizar servicios en línea gratuitos como SocketXP que proporciona un punto final de túnel público seguro a SSH en su RaspberryPi desde fuera de la red doméstica.
SocketXP proporciona una manera simple, segura y fácil de acceder a su RaspberryPi desde la red externa. SocketXP no requiere que piratee ninguna configuración en su enrutador WiFi. Funciona fuera de la caja. Para saber cómo configurar su RaspberryPi en SSH desde el exterior, lea este blog sobre cómo remotamente SSH en su RaspberryPi usando SocketXP.
Cómo configurar SocketXP:
Paso 1 : Instale el cliente SocketXP en su RaspberryPi usando el siguiente comando.
Paso 2: conecte el cliente SocketXP con el servicio en la nube SocketXP utilizando el siguiente comando. Debe registrarse en https://portal.socketxp.com para obtener su token de autenticación único.
Paso 3 : Obtenga un punto final de túnel público para acceder a su RaspberryPi desde Internet.
Paso 4 : SSH en su RaspberryPi desde Internet usando el siguiente comando.
donde "raspberry-username" es el nombre de usuario / contraseña que utiliza para iniciar sesión SSH en su RaspberryPi.
fuente
Esta pregunta es antigua, a medida que pasa el tiempo hay menos posibilidades de que obtenga una dirección IPv4 accesible al público. Lo más probable es que esté detrás de un CGNAT, lo que significa que comparte un solo IPv4 público con otros clientes del ISP. Por lo tanto, no es posible hacer un reenvío de puerto a su PI ni a ninguna otra cosa.
Si tiene IPv6, puede darle a su PI una dirección estática y permitir el acceso a ella en su enrutador. Muchos proveedores móviles ahora dan IPv6 a los teléfonos. Los viejos ISP "terrestres" (fibra, DSL, coaxial, etc.) a menudo arrastran sus pies.
También puede obtener un VPS (servidor privado virtual) barato con un IPv4 público en algún lugar de la nube, y hacer un túnel SSH desde el PI al VPS.
fuente
Además de la respuesta de phalt, debe consultar uno de los servicios dinámicos de DNS, como Sin IP . Le permiten acceder a su red doméstica con un nombre de host estático, aunque su dirección IP puede cambiar diariamente debido a que su proveedor de DSL o cable lo desconecta. También tienen una buena página de inicio , que también le presenta a configurar su enrutador en consecuencia.
Es posible que desee instalar el
inadyn
paquete en su Raspberry Pi para actualizar sus entradas DNS sin IP, cuando cambie la IP. Puede hacer esto ejecutando:Del inadyn README tomé esta llamada de muestra:
Espero que esto ayude.
fuente
Adicional a la respuesta de Steve Irwin:
Paso 1:
si se conecta a través de wlan, use:
Paso 2:
Después de cambiar lo anterior, debe reiniciar
networking
:fuente
Además, algunos enrutadores tienen soporte incorporado para algunos servicios de DNS dinámico, puede habilitar esta opción (si existe) en su enrutador para evitar instalar el cliente en su PI (y ahorrar un poco de sobrecarga mientras lo hace).
fuente
Entonces, tiene un servidor ssh (su Raspberry PI) detrás de un firewall (su enrutador) y desea conectarlo desde cualquier lugar. Supongamos que su servidor ssh está configurado correctamente, es decir, ejecutar 'ssh username @ localhost date' en su Raspberry muestra la fecha / hora actual.
Tienes que resolver dos problemas:
Reenvío de puertos y DynDNS
Existen soluciones (como han señalado otros):
Si está configurado correctamente, es posible conectar su rasbperry pi con:
Usando sshhub.de
Otra solución muy conveniente, no mencionada hasta ahora, es SSHHub ( descargo de responsabilidad , soy el autor). Utiliza el reenvío de ssh para acceder a su Rasperry PI desde cualquier lugar. Es confiable, gratuito y bastante simple de configurar . Registrarse una vez:
ejecutar en su Raspberry PI:
...¡y eso es! Puede conectar su Raspberry Pi desde cualquier lugar:
fuente
Podría usar una VPN para habilitar el acceso entrante a su pi. OpenVPN es una solución, que requeriría tener una computadora accesible desde Internet (un puerto entrante). Sin embargo, siempre que tenga una computadora accesible, las otras computadoras no necesitan ser, ya que pueden ser clientes del servidor OpenVPN.
Otra opción sería utilizar un servicio como ZeroTier, que proporciona servidores centralizados para crear una VPN, por lo que no necesitaría ejecutar su propio servidor. Esto también es gratis.
fuente