Como posso ssh em meu computador de casa a partir da internet?


1

Existe software que me ajudará a ssh / conectar ao meu computador de casa a partir da internet pública? (Digamos, uma cafeteria).

Eu entendo que perguntas semelhantes a esta foram feitas, mas nenhuma parece realmente responder à pergunta. Deixe-me adicionar alguns detalhes para evitar as muitas respostas sobre DynDns e encaminhamento de porta.

  • Eu tenho acesso a um servidor SSH publicamente acessível. Apenas o encaminhamento de porta de lá não é uma solução estável que dura vários dias. O encaminhamento de portas tende a abandonar conexões, ser lento etc.

  • Eu não quero configurar / pagar por DynDns e configurar o NAT traversal no meu roteador.

Eu sinto o seguinte deve ser possível, eu só não sei se existe software que já realiza isso:

Da mesma forma que os programas peer-to-peer atravessam NAT perfurocortante, deve ser possível ter um programa em execução na minha máquina doméstica que abra o acesso externo às portas apropriadas através de perfuração. Além disso, o programa pode difundir o IP público de computadores domésticos e portas externamente visíveis e perfuradas em algum lugar (digamos, em um servidor público ou por e-mail) e atualizar periodicamente essas informações.

Existe software como este? Uma parte dessa funcionalidade já é realizada por vários softwares de torrent.

Fasterz 20 ago 2012 21:45
fonte

1
Não tenho certeza de qual configuração você está tentando evitar com o DynDNS. A versão gratuita disponível envolvia inscrever-se com eles, fazer o download de um cliente de atualização e, em seguida, colocar a combinação de email / senha de inscrição usada no cliente uma vez. Você então tem o endereço que você se inscreveu para se conectar à máquina. Tanto quanto o encaminhamento de porta através do seu roteador ... é um passo relativamente indolor dois. Um ... atribua a esse computador um IP estático na tabela de reservas DHCP e, em seguida, encaminhe a porta 22 para esse IP. Então, você acabou de SSH de qualquer computador para o seu endereço: 22. Não é tão ruim assim.
Bon Gart 20 ago 2012 21:49

De que forma o DNS dinâmico (gratuito) e o encaminhamento de porta simples não respondem à pergunta?
RedGrittyBrick 20 ago 2012 22:01

O DynDNS é gratuito, e muitos roteadores (da maioria deles) também têm um cliente DynDNS embutido, então você não precisa nem mesmo executá-lo. Você poderia tentar usar um túnel SSH reverso para contornar o NAT, mas o encaminhamento de porta provavelmente é mais confiável.
user55325 20 ago 2012 22:13

Respostas:


0

Ya então eu acho que o encaminhamento de porta é o método de perfuração. Se você quisesse, poderia colocar seu computador em uma DMZ e evitar toda a bagunça.

FEA5T 20 ago 2012 21:45
fonte

Eu não colocaria um computador permanentemente em uma DMZ, a menos que você realmente saiba o que está fazendo com a segurança da rede.
danielcg 15 jun 2016 18:16

0

Não sugiro colocar seu dispositivo em uma DMZ sob nenhuma circunstância, a menos que você realmente saiba o que está fazendo e possa proteger o dispositivo e a rede ao redor.

Existe um software que pode emular uma LAN através da Internet, chamada LogMeIn Hamachi . Ao instalar e ativar isso no host, você pode acessá-lo fazendo login na VLAN em qualquer lugar da Internet.

Embora eu não veja necessariamente o problema com o Port Forwarding.

Outra opção é usar o recurso Port Forwarding embutido do SSH. Se houver outro host SSH acessível pela Internet (chamaremos de Host 1) na mesma LAN do host ao qual você está tentando se conectar (Host 2), você poderá emitir um comando que salte a conexão do seu computador. (em uma porta local específica) através do Host 1, e o Host 1 direciona seu tráfego para o Host 2 não encaminhado pela porta em sua LAN.

O comando é o seguinte e deve ser executado na máquina local que você está tentando usar para conectar-se ao Host 2

ssh -L [local-port-to-open]:[local-IP-of-Host-2-according-to-Host-1]:[port-to-connect-to-on-Host-2-from-Host-1] [user-of-Host-1]@[Host-1-address]

Isso abrirá uma porta na sua máquina (seu [local-port-to-open] argumento) que o SSH gerencia, enviando qualquer tráfego dessa porta através do túnel criptografado [user-of-Host-1]@[Host-1-address] argumentos para o Host-2, conforme especificado [local-IP-of-Host-2-according-to-Host-1]:[port-to-connect-to-on-Host-2-from-Host-1]. Esse método é chamado de Encaminhamento de porta local (não entendo o encaminhamento de porta remoto).

Por exemplo, digamos que eu queira me conectar ao Host 2, que não é encaminhado por porta, do meu café local, usando o Host 1, que é encaminhado por porta, para devolver a conexão à sua LAN. Observe que isso abrirá um PTS na máquina remota, mas poderá ser ignorado até que você deseje fechar este túnel. Então você pode apenas fechar a sessão de terminal como faria normalmente.

O IP público do Host 1 é 201.31.103.212 (o NAT que encapsula o Host 1 e o Host 2) na porta 1337 para SSH. Host 2, na LAN, tem o IP local do 192.168.254.40 e usa porta 22 para SSH. O nome de usuário de login do host 1 é fish.

Ok, então vou dizer que tenho a porta local 8080 não utilizado e pode usá-lo para esta demonstração temporariamente.

O comando que eu formaria é como tal:

ssh -L 8080:192.168.254.40:22 fish@201.31.103.212

Agora isso abre porta 8080 no seu computador local e envia para 192.168.254.40 na porta 22 (Host 2) de acordo com o Host 1 (que é fish@201.31.103.212 )

Agora, se você quiser SSH no Host 2, tudo que você precisa fazer é especificar seu computador na porta 8080. Digamos que o nome de usuário de login do Host 2 seja turtle

ssh turtle@127.0.0.1 -p 8080

O SSH está gerenciando sua porta 8080, e envia a sua solicitação SSH para o Host 1, que envia para o Host 2. Por favor, note que, ao invés de usar 127.0.0.1, você também pode simplesmente usar localhost. É apenas uma preferência.

Outro uso do SSH Port Forwarding é proxies.

Cenário: Estou na escola com meu laptop pessoal e quero acessar o Twitter, que está bloqueado (na verdade é na minha escola, então eu fiz exatamente isso). Eu tenho um host SSH encaminhado por porta em minha casa com o IP 39.34.81.56 na porta 1337. Quero devolver uma conexão com o Twitter (os servidores da Web são mais comumente hospedados na porta 80 ) do meu porto 8080 no meu laptop através do meu host em casa. Gostaria de emitir o comando no meu laptop:

ssh -L 8080:twitter.com:80 root@39.34.81.56 -p 1337

Agora eu posso acessar localhost:8080 no meu navegador, e ele irá rotear o Twitter através do meu túnel criptografado, de seus servidores para minha casa, em seguida, para o meu laptop na escola.

Eu posso usar esse mesmo método para entrar em um site que não usa SSL (pastebin por exemplo) em público e ter certeza de que minhas credenciais estão seguras porque são criptografadas usando SSH e enviadas somente sem SSH da minha casa, o que eu fiz com certeza é seguro.

Boa sorte!

EDIT: Apenas uma nota lateral, os endereços IP mostrados aqui não devem ser endereços válidos, mas na chance de que eles são, por favor, não assediar os usuários desses IPs.

TheFuzzyFish 15 jun 2016 17:56
fonte

O fragmento sobre LogMeIn Hamachi pode ser melhorado seguindo este esboço geral .
Kamil Maciorowski 5 jul 2016 08:31
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.