Estou tentando configurar uma VPN com um Raspberry Pi e o primeiro passo é obter a capacidade de ssh
acessar o dispositivo de fora da minha rede local. Por alguma razão, isso está se mostrando impossível e não tenho a menor idéia do porquê. Quando tento ssh
entrar no meu servidor user@hostname
, recebo o erro:
ssh: Could not resolve hostname [hostname]: nodename nor servname provided, or not known
No entanto, eu posso entrar no servidor com,
ssh user@[local IP]
O servidor é um Raspberry Pi Modelo B executando a distribuição mais recente do Raspbian e a máquina com a qual estou tentando conectar é um Macbook Pro executando o Mavericks. ssh
foi ativado no Raspberry Pi quando configurei o Raspbian.
Examinei o Stack Overflow por horas tentando ver se mais alguém tinha esse problema e não encontrei nada. Todos os ssh
tutoriais encontrados dizem que devo configurá-lo na máquina remota e efetuar login de qualquer lugar usando um nome de host, e nunca tive sucesso com isso.
fonte
[hostname]
você está usando não pode ser resolvido de onde você está tentando. Devolvenslookup [hostname]
o que[local IP]
você está esperando?nslookup [hostname]
cospe; Servidor: 8.8.8.8 Endereço: 8.8.8.8 servidor nº 53 ** não consegue encontrar [hostname]: NXDOMAIN quando executado a partir o meu Macbook[hostname]
, certo?Server: 192.168.0.1 Address: 192.168.0.1#53 ** server can't find mrddr: NXDOMAIN
Respostas:
Recentemente me deparei com o mesmo problema. Eu era capaz de ssh para o meu pi na minha rede, mas não de fora da minha rede doméstica.
Eu já tinha:
Além disso, configurei a porta de encaminhamento no meu roteador para hospedar um site e eu tinha até a porta de encaminhamento de porta 22 para o IP estático do pi para ssh, mas deixei o campo em branco onde você especifica o aplicativo para o qual está realizando o encaminhamento de portas. o roteador. Enfim, adicionei 'ssh' nesse campo e, VOILA! Uma conexão ssh funcionando de qualquer lugar para o meu pi.
Escreverei as configurações de encaminhamento de porta do meu roteador.
As configurações de encaminhamento de porta podem ser diferentes para roteadores diferentes, portanto, consulte as instruções do seu roteador.
Agora, quando estou fora da minha rede doméstica, conecto-me ao meu pi digitando:
Então, consigo inserir minha senha e conectar-me.
fonte
Se você estiver no Mac, reiniciar o respondedor de DNS corrigiu o problema para mim.
fonte
nslookup
funcionar, mas ssh / ping / o que não funcionar, isso corrige o problema. Obrigado.Eu tive o mesmo problema ao conectar-me a uma máquina remota. mas consegui acessar como abaixo:
ou:
fonte
ssh myName@hostname:myPort
Se você precisar acessar sua VPN de qualquer lugar do mundo, precisará registrar um nome de domínio e apontar para o endereço IP público do seu gateway de rede / VPN. Você também pode usar um serviço DNS dinâmico para conectar um nome de host ao seu IP público.
Se você só precisa ssh do seu Mac para o seu Raspberry dentro da rede local , faça o seguinte: No seu Mac, edite
/etc/hosts
. Supondo que o Raspberry tenha nome de host "berry" e ip "172.16.0.100", adicione uma linha:Agora:
ssh user@berry
deve funcionar.fonte
Eu tive o mesmo problema, que resolvi adicionando um .local ao nome do host, ala
ssh [email protected]
fonte
ping $(hostname)
estava trabalhando, mas precisa fazerssh $(hostname).local
. Mac geralmente é grande .. mas quando ela suga, realmente ..hadoop
precisa fazerssh user@hostname
e não posso simplesmente adicionar.local
manualmente. Estou preso.local
fez isso por mim no Ubuntu 19.10.No meu caso, eu estava tentando ssh assim
quando o formato correto é:
fonte
Se o seu comando for:
Você também enfrentará o mesmo erro
quando você perde a opção
-i /path/to/pemfile
de sshPortanto, o comando deve ser:
fonte
ssh -p xxxx user@hostname
Eu precisava me conectar ao servidor Amazon remoto
ssh -i ~/.ssh/test.pem -fN -L 5555:localhost:5678 [email protected]
Eu estava recebendo o seguinte erro.
ssh: Could not resolve hostname <hostname.com>: nodename nor servname provided, or not known
Solução para Mac OSX
Executar ping no host resolveu o problema. Estou usando o Mac OSX Seirra.
ping hostname.com
Agora problema resolvido. Capaz de conectar-se ao servidor.
Nota : Eu tentei esta solução também. Mas não deu certo. Em seguida,
ping
resolvia o problema.fonte
Eu tive o mesmo problema: O endereço mostrado em Preferências -> Compartilhamento -> Login Remoto não funcionou e recebi um '... nodename nem servname fornecido, ou não conhecido'. No entanto, quando editei manualmente as configurações (em Preferências -> Compartilhamento -> Login Remoto -> editar) e habilitei "Usar nome de host global dinâmico", de repente funcionou.
fonte
Parece que alguns aplicativos não lêem o link simbólico
/etc/hosts
(pelo menos no macOS), é necessário vinculá-lo.ln /path/to/hosts_file /etc/hosts
fonte
Isso estava acontecendo comigo ao tentar acessar o Github. O problema é que eu tinha o hábito de fazer:
git remote add <xyz> ssh:\\[email protected]......
Mas, se você está tendo esse erro da pergunta, removendo
ssh:\\
pode resolver o problema. Isso resolveu para mim!Observe que você precisará fazer um
git remote remove <xyz>
e adicionar novamente o URL remoto semssh:\\
.fonte
ssh:\\
e nãossh://
?Para mim, o problema foi um erro de digitação no meu
~/.ssh/config
arquivo. Eu tinha:O problema foi o
:
depois dohost1
- não deveria estar lá.ssh
não dá avisos de erros de digitação no~/.ssh/config
arquivo. Quando não consegue encontrarhost1
, procura a máquina localmente, não consegue encontrá-la e imprime a mensagem de erro enigmática.fonte
Tente isso, considerando as portas permitidas. Armazene seu
.pem
arquivo em suaDocuments
pasta, por exemplo.Para obter acesso agora, tudo o que você precisa fazer é
cd [directory]
mover o arquivo para o diretório do arquivo alocado. Você pode digitar primeirols
, para listar o conteúdo do diretório em que está atualmente:fonte
Eu recebi esse erro usando um arquivo de inventário .yml em ansible que não foi formatado corretamente. Para vários hosts em um grupo, cada nome de host precisa terminar em dois pontos ":". Caso contrário, o ansible executa os nomes dos hosts juntos e produz esse erro ssh.
fonte