Estoy tratando de configurar una VPN con una Raspberry Pi, y el primer paso es obtener la capacidad de ssh
ingresar al dispositivo desde fuera de mi red local. Por alguna razón, esto está demostrando ser imposible y no tengo la menor idea de por qué. Cuando intento ssh
ingresar a mi servidor user@hostname
, aparece el error:
ssh: Could not resolve hostname [hostname]: nodename nor servname provided, or not known
Sin embargo, puedo iniciar sesión en el servidor con,
ssh user@[local IP]
El servidor es un Raspberry Pi Modelo B que ejecuta la última distribución de Raspbian y la máquina con la que intento conectarme es un Macbook Pro con Mavericks. ssh
estaba habilitado en Raspberry Pi cuando configuré Raspbian.
He examinado Stack Overflow durante horas tratando de ver si alguien más tuvo este problema y no he encontrado nada. Cada ssh
tutorial que encuentro dice que debería poder configurarlo en la máquina remota e iniciar sesión desde cualquier lugar usando un nombre de host, y nunca he tenido éxito con eso.
fuente
[hostname]
que sea que esté usando no se puede resolver desde donde lo está intentando. ¿nslookup [hostname]
Te devuelve lo[local IP]
que estás esperando?nslookup [hostname]
escupe; Servidor: 8.8.8.8 Dirección: 8.8.8.8 # 53 ** el servidor no puede encontrar [hostname]: NXDOMAIN cuando se ejecuta desde mi Macbook[hostname]
, ¿verdad?Server: 192.168.0.1 Address: 192.168.0.1#53 ** server can't find mrddr: NXDOMAIN
Respuestas:
Recientemente me encontré con el mismo problema. Pude ssh a mi pi en mi red, pero no desde fuera de mi red doméstica.
Yo ya tenía:
Además, configuré el reenvío de puertos en mi enrutador para alojar un sitio web e incluso tuve que reenviar el puerto 22 a la IP estática de mi pi para ssh, pero dejé el campo en blanco donde especifica la aplicación para la que está realizando el reenvío de puertos el enrutador De todos modos, agregué 'ssh' en este campo y, ¡VOILA! Una conexión ssh que funciona desde cualquier lugar a mi pi.
Escribiré la configuración de reenvío de puertos de mi enrutador.
Sin embargo, la configuración de reenvío de puertos puede ser diferente para diferentes enrutadores, así que busque instrucciones para su enrutador.
Ahora, cuando estoy fuera de mi red doméstica, me conecto a mi pi escribiendo:
Entonces puedo ingresar mi contraseña y conectarme.
fuente
Si está en Mac, reiniciar el respondedor DNS solucionó el problema para mí.
fuente
nslookup
funciona, pero ssh / ping / lo que no funciona, esto soluciona el problema. Gracias.Tuve el mismo problema al conectarme a una máquina remota. pero logré iniciar sesión de la siguiente manera:
o:
fuente
ssh myName@hostname:myPort
Si necesita acceder a su VPN desde cualquier parte del mundo, debe registrar un nombre de dominio y hacer que apunte a la dirección IP pública de su VPN / puerta de enlace de red. También puede usar un servicio DNS dinámico para conectar un nombre de host a su IP pública.
Si solo necesita ssh desde su Mac a su Raspberry dentro de su red local , haga lo siguiente: En su Mac, edite
/etc/hosts
. Suponiendo que Raspberry tiene el nombre de host "berry" y la ip "172.16.0.100", agregue una línea:Ahora:
ssh user@berry
debería funcionar.fuente
Tuve el mismo problema, que pude resolver agregando un .local al nombre de host, ala
ssh [email protected]
fuente
ping $(hostname)
estaba funcionando pero necesito hacerssh $(hostname).local
. Mac suele ser genial ... pero cuando apesta, realmente ...hadoop
necesario hacerlossh user@hostname
y no puedo simplemente agregarlo.local
manualmente. Estoy atrapado.local
hizo por mí en Ubuntu 19.10.En mi caso estaba intentando algo así
cuando el formato correcto es:
fuente
Si su comando es:
También te enfrentarás al mismo error
cuando pierdes la opción
-i /path/to/pemfile
de sshEntonces Command debería ser:
fuente
ssh -p xxxx user@hostname
Necesitaba conectarme al servidor remoto de Amazon
ssh -i ~/.ssh/test.pem -fN -L 5555:localhost:5678 [email protected]
Estaba recibiendo el siguiente error.
ssh: Could not resolve hostname <hostname.com>: nodename nor servname provided, or not known
Solución para Mac OSX
Hacer ping al host resolvió el problema. Estoy usando Mac OSX Seirra.
ping hostname.com
Ahora problema resuelto. Capaz de conectarse al servidor.
Nota : Probé esta solución también. Pero no funcionó. Luego
ping
resolvió el problema.fuente
Tuve el mismo problema: la dirección que se muestra en Preferencias -> Compartir -> Inicio de sesión remoto no funcionó y obtuve un '... nombre de servidor o nombre de servidor proporcionado, o no se conoce'. Sin embargo, cuando edité manualmente la configuración (en Preferencias -> Compartir -> Inicio de sesión remoto -> editar) y habilité "Usar nombre de host global dinámico", de repente funcionó.
fuente
Parece que algunas aplicaciones no leerán enlaces simbólicos
/etc/hosts
(al menos en macOS), debe vincularlo.ln /path/to/hosts_file /etc/hosts
fuente
Esto me estaba sucediendo cuando intentaba acceder a Github. El problema es que tenía la costumbre de hacer:
git remote add <xyz> ssh:\\[email protected]......
Pero, si tiene este error de la pregunta, eliminar
ssh:\\
puede resolver el problema. ¡Lo resolvió para mí!Tenga en cuenta que tendrá que hacer ay
git remote remove <xyz>
volver a agregar la url remota sinssh:\\
.fuente
ssh:\\
lugar dessh://
?Para mí, el problema era un error tipográfico en mi
~/.ssh/config
archivo. Yo tenía:El problema fue
:
después de lahost1
- no debería estar allí.ssh
no da advertencias para errores tipográficos en el~/.ssh/config
archivo. Cuando no puede encontrarhost1
, busca la máquina localmente, no puede encontrarla e imprime el mensaje de error críptico.fuente
Prueba esto, teniendo en cuenta tus puertos permitidos. Almacene su
.pem
archivo en suDocuments
carpeta, por ejemplo.Para obtener acceso a él ahora, todo lo que tiene que hacer es
cd [directory]
moverlo al directorio del archivo asignado. Primero puede escribirls
, para enumerar el contenido del directorio en el que se encuentra actualmente:fuente
Obtuve este error al usar un archivo de inventario .yml en ansible que no estaba formateado correctamente. Para varios hosts en un grupo, cada nombre de host debe terminar en dos puntos ":". De lo contrario, ansible ejecuta los nombres de host juntos y produce este error ssh.
fuente