Eu tenho um servidor linux e quero colocá-lo em uma rede doméstica atrás de um roteador. Preciso ssh para este servidor em algum momento de fora, mas não quero configurar o encaminhamento de porta porque não tenho acesso ao roteador e também não conheço o ip do roteador.
O que posso fazer é colocar algum programa no servidor linux; assim, quando estiver conectado à Internet, ele enviará dados constantemente para o meu outro servidor online, para que eu saiba o endereço IP dele. Mas existe uma maneira de ssh para o servidor atrás do roteador de fora? algo como NAT ou soquete que mantém a conexão de rede?
Muito obrigado
fonte
autossh
para mantê-lo aberto.Você pode usar uma espécie de VPN para fazer isso funcionar, mas seria necessário um servidor que o servidor inacessível possa acessar. Em seguida, você pode configurar o OpenVPN no servidor, no seu PC e no servidor firewall, ativar
client-to-client
e pronto. http://openvpn.net/howto.htmlfonte
Esta resposta é baseada na aceita, mas adicionando os detalhes que me permitiram fazê-lo. Peço desculpas pela explicação dos pedestres, pois essa não é minha especialidade.
Suponha que você tenha dois computadores
A
eB
. Você desejassh
deA
paraB
e não pode encaminhar nenhuma porta nos roteadores conectados a eles.Como afirma a resposta aceita, você precisa de um servidor
S
para fazer isso: no computadorB
, você permitirássh
conexões provenientesS
; e do computadorA
, você acessará esse túnel emS
para alcançarB
.Mas como você obtém esse servidor
S
? Encontreiserveo
(link: https://serveo.net/ ). É de uso muito simples. Você não precisa instalar nada ou se registrar e é gratuito. De acordo com o site, as etapas a seguir são:Pense em um apelido para o computador
B
. Por exemplocomputer_B_alias
,.No computador
B
, executessh -R computer_B_alias:22:localhost:22 serveo.net
.Agora, você pode acessar o computador a
B
partir do computadorA
executando o seguinte em computerA
:,ssh -J serveo.net user@computer_B_alias
onde você deve substituiruser
pelo nome do usuário no computadorB
.PS: Obviamente, você faz do ponto 2 uma tarefa automática ao iniciar o computador
B
.PSS: Antes de tentar isso, verifique se
ssh
está instalado nos dois computadores. Para o Ubuntu,sudo apt-get install ssh
faria o trabalho.fonte
Esperar muito tempo para responder. Esperá-lo pode ajudar alguém que está procurando o mesmo agora.
Se você deseja acessar um servidor atrás do NAT e não deseja escrever código, provavelmente pode procurar uma ferramenta abaixo e usar o que se adequar às suas necessidades.
Ambas as ferramentas acima assumem que você tem acesso à máquina Linux para instalar o cliente. Alguns dos benefícios são:
Pessoalmente, prefiro o tmate mais, pois você pode hospedar o servidor tmate em seu próprio servidor intermediário (para ssh reverso), enquanto o teleconsole pode se conectar apenas aos seus próprios servidores para ssh reverso.
fonte