Como ssh em um servidor rodando em uma rede doméstica, atrás de um roteador?

22

Ok, então eu tenho um PC na minha rede doméstica, executando o Ubuntu em uma VM com o servidor openssh instalado.

  1. Como posso acessá-lo remotamente de outro computador fora da rede doméstica, usando a Internet?
  2. Qual endereço IP eu uso para conectar-me?
  3. Que tipo de encaminhamento de porta eu preciso fazer?
Hugo Lobo
fonte
Que tipo de rede a VM usa? Para uso doméstico típico, é recomendável fazer uma ponte entre pontes e, para fins de rede, a VM será equivalente a uma máquina física; portanto, basta fazer o encaminhamento de porta no roteador como de costume.
precisa saber é
Em Configurações de rede na minha VM, ele diz que o adaptador de rede está conectado ao NAT. Aqui está uma captura de tela: link Preciso alterar isso?
Hugo Lobo
Colocá-lo em ponte tornará as coisas mais simples, sim. (Basicamente, com NAT que você precisa fazer encaminhamento de porta duas vezes, no seu roteador e em VBox.)
fkraiem
na verdade, você não precisa de nenhum encaminhamento de porta quando a máquina da qual você deseja se conectar estiver visível para o servidor local - basta -Lusar o comando flag at ssh - mas verifique se a conexão está se mantendo ativa - execute htop ou algo semelhante para manter a transferência de dados.
Amplo

Respostas:

22

Há várias coisas que você precisa fazer:

1) Como fkraiem mencionado em seu comentário, verifique se sua VM está acessível na rede local. O uso de uma conexão de rede 'bridge' nas configurações da VM deve fazer isso. Em seguida, usando um de seus outros computadores (até mesmo o host), verifique se você pode fazer login no servidor SSH. Se puder, parabéns, vamos para o próximo passo.

2) Em seguida, você precisa saber como avançar no seu roteador. Como você não mencionou o roteador que possui, terá que descobrir isso sozinho. A porta 22 é a usada pelo SSH. É claro que você pode escutar em uma porta mais alta no roteador para evitar que seus logs sejam preenchidos por várias crianças que tentam invadir seu servidor e encaminhar a porta para 22 em seu servidor. Por exemplo, vamos imaginar que o seu IP local para o seu servidor é 192.168.0.10. O seu IP da WAN (Internet) é 99.99.99.99.

99.99.99.99:60022 -> Roteador -> 192.168.0.10:22

O que você quer fazer é dizer ao seu roteador para escutar na porta 60022 e encaminhar para IP 192.168.0.10 e porta 22.

Para descobrir qual é o seu IP da WAN, basta pesquisar no Google 'qual é o meu endereço IP'. Existem outras maneiras, mas é a mais fácil.

Agora, depois de configurar o roteador, tente conectar-se a um computador externo ao IP da WAN com a porta mais alta. Você pode conectar seu telefone celular a um laptop para fazer isso.

Se você pudesse se conectar com isso, parabéns novamente.

3) Agora você precisa garantir que seus endereços IP permaneçam estáticos na rede local e precisará obter uma entrada DNS dinâmica para o seu endereço IP da WAN. Dessa forma, você usaria um nome de domínio em vez do seu IP da WAN. Google 'DNS dinâmico' para encontrar algum serviço gratuito.

Espero que tenha ajudado.

G Trawo
fonte
É este "99.99.99.99:60022 -> Roteador -> 192.168.0.10:22" o comando real? o que significa "roteador"? Quero dizer, o que se passa aqui?
M4l490n
@ m4l490n Não, isso não é um comando. É simplesmente uma maneira de mostrar o "fluxo" da conexão. 99.99.99.99 é apenas um endereço IP que eu escolhi. Eu também poderia ter mostrado XXX.XXX.XXX.XXX, mas acho os números mais fáceis de entender. 60022 é a porta "externa" na qual o roteador escuta. Ele então encaminha a porta para o endereço interno 192.168.0.10 e a move para a porta 22. A razão pela qual não entrei em mais detalhes é porque o OP não indicou qual roteador (e firmware) ele estava usando.
precisa saber é o seguinte
4

Minha configuração pessoal é a seguinte:

  1. Na porta de encaminhamento 22 do roteador da máquina remota para a 2222 da máquina local, digamos 192.168.0.33, por exemplo. Dessa forma, você ainda pode ter acesso ssh ao sistema operacional principal da máquina, enquanto 2222 é para o sistema operacional virtual.

    insira a descrição da imagem aqui

    1. Na caixa virtual, encaminhe a porta 2222 do SO 192.168.0.33 do host para a porta 22 do SO convidado. O IP do convidado pode ser encontrado com o ifconfigcomando no próprio convidado.

    insira a descrição da imagem aqui

Agora, se você conhece o IP do seu roteador, pode transferir para o IP do seu roteador e ele será encaminhado automaticamente para a porta 2222 da sua máquina física. A máquina física fornecerá essa conexão à porta 22 da máquina virtual (desde que a VM esteja em execução).

Se você deseja ssh da rede local, use ssh -p 222 192.168.0.33

Sergiy Kolodyazhnyy
fonte