Tentando SSH no exterior [fechado]

1

Como eu usaria o ssh no Mac OS X como controle remoto em um computador no exterior? Eu gostaria de ajudar meu irmão com seu computador, mas ele mora no Reino Unido agora (e eu tenho certeza que ele usa uma VPN para manter a conexão com os serviços de streaming de mídia dos EUA). Eu fiz isso na minha LAN, mas nunca em um servidor remoto ... muito menos no exterior.

Eu tentei o básico ssh [email protected] , mas tenho certeza de que existem muitas razões pelas quais um endereço IPv4 aleatório não funcionará: D

Precisamos configurar o lado dele?

    
por Sparrow1029 17.08.2016 / 22:01

3 respostas

2

Bem, você precisaria que ele portasse a porta 22 do seu computador e que ele esteja executando sshd se você quiser fazer isso da maneira mais simples.

Por outro lado, você pode fazer o trabalho sujo e fazer com que ele faça uma porta em frente através de ssh para o seu computador. Isso seria feito com a configuração de um daemon ssh (instruções para o OSX aqui ), em seguida, a porta de encaminhamento de porta 22 ( ssh port) do seu computador principal através do seu roteador. Existem muitas, muitas variações entre cada roteador e firmware, então eu realmente não posso orientá-lo nesta etapa. No entanto, este site parece ter um banco de dados muito grande de guias feitos sob medida para diferentes roteadores, então você pode ter alguma sorte lá . Além disso, certifique-se de definir um endereço IP privado estático para o seu computador principal para que o dhcp não forneça um novo endereço. Se isso acontecer, sua porta externa será encaminhada para um host interno inexistente, por isso seria inútil.

Em seguida, crie um usuário para seu irmão. Nada extravagante aqui, apenas certifique-se que tem uma senha e que ele sabe o que é. Certifique-se também de que ele tenha um daemon ssh em execução no computador dele. Ele também pode estar interessado em criar um usuário em seu computador para você, para que ele não precise expor sua senha a você e fornecer seu próprio diretório pessoal.

Quando você tiver um daemon ssh em execução, faça com que seu irmão se conecte ao seu computador com o comando ssh -R 2222:localhost:22 [email protected] , ele poderá conectar e inserir sua senha (que não aparece nos sistemas operacionais baseados em UNIX) por razões de segurança). Uma vez conectado, o tráfego do seu computador na porta 2222 será encaminhado para a porta 22 do computador (a ssh port). Agora você deve conseguir se conectar ao computador dele com ssh -p 2222 you@localhost . Divirta-se!

Como observação final, você também pode querer pegar um nome de host de um site DDNS, sugiro no-ip.com . Dessa forma, você pode se conectar facilmente ao seu roteador, que estará em something.ddns.net , ou algo assim. Eu gosto de no-ip porque é grátis, e se você configurar seu roteador para usá-lo corretamente, ele irá atualizar automaticamente o nome do host para apontar para o seu endereço IP público.

    
por 18.08.2016 / 02:02
1

O SSH não se importa com a distância. Para se conectar ao computador cujo nome é somewhere.example.com , basta executar ssh somewhere.example.com . Para se conectar ao computador cujo endereço IP é 192.0.2.4, basta executar ssh 192.0.2.4 . É claro que o computador de destino deve estar executando um servidor SSH.

A mosca na pomada é que o computador do seu irmão provavelmente não tem um endereço IP que você possa alcançar. A maioria dos computadores não é acessada diretamente pela Internet: eles estão por trás de um appliance NAT . A maioria das caixas ISP (chamadas de "roteadores" ou "modems") também executam NAT. Em sua forma básica, o NAT fornece aos computadores em uma rede um endereço IP privado (ou seja, endereço válido apenas nessa rede local) e permite conexões de saída por meio de um único endereço IP público, mas não conexões de entrada.

Para chegar ao computador de seu irmão, você precisa fazer com que ele configure seu appliance NAT para fazer com que as conexões SSH de entrada cheguem ao computador que você deseja alcançar. A interface da web do modem / roteador provavelmente tem uma configuração para isso em algum lugar.

Outra dificuldade é que a maioria dos ISPs residenciais atribui endereços IP dinamicamente, então o endereço IP do seu irmão muda ao longo do tempo (normalmente a cada poucos dias). Você deve levá-lo a configurar o DNS dinâmico , para fazer com que seu computador registre o endereço IP em um servidor toda vez que ele mudar. Alguns appliances ISP suportam DNS dinâmico, mas isso está longe de ser universal; se o seu irmão não, ele teria que fazer isso do computador dele.

Como alternativa, você mesmo pode seguir essas etapas, levar seu irmão para o SSH para a sua máquina e configurar um túnel SSH reverso .

    
por 18.08.2016 / 02:38
0

Fazer login em um computador dentro de sua LAN via SSH não é muito diferente de fazer login em um computador na Internet. Mas há algumas coisas que precisam ser levadas em conta.

  1. Os computadores da sua LAN provavelmente estão em uma rede "privada" cujo espaço de endereçamento não é roteado nas WANs públicas ( veja aqui ). Eu acho que quando você faz ifconfig sua interface será configurada algum tipo de 192.168.0.x ou 10.x.x.x IP endereço. Está certo?

  2. Os computadores que estão nessas redes têm acesso à Internet. Mas, em troca, a Internet não tem necessariamente acesso ao seu computador pelo seu IP. A razão é que os IPs de sua LAN são mapeados para um endereço público roteável que você pode até ter em comum com os dispositivos em toda a sua vizinhança. Isso é feito pelo seu ISP (chamado de NAT ).

  3. Mesmo quando o seu irmão usa uma VPN, ele não necessariamente tem um endereço IP público atribuído ao seu computador, porque mesmo o provedor de VPN pode usar o NAT para salvar endereços IP e ocultar uma comunidade inteira atrás de um ou vários IPs públicos.

A primeira e mais simples coisa que eu faria nessa situação é analisar se você e seu irmão têm ISPs que atribuem endereços IPv6 a seus clientes. Dê uma olhada aqui .

Estes endereços têm 8 blocos de hexadimimal de 4 dígitos separados por dois pontos. Veja aqui . E sua vantagem é: Há um lote deles disponível, de modo que cada dispositivo com capacidade de rede no mundo possa ter pelo menos um endereço único. Do ifconfig no seu PC e deixe seu irmão fazer ifconfig também.

No caso de seu ISP fornecer IPv6 e seu PC estar configurado para obtê-los (o que eu acho que é o padrão, pelo menos no Linux), então você deve encontrar uma linha com o seguinte formato:

inet6-address: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 scope:global

( Atualização: Em vez de scope:global você também pode ter scopeid: 0xe )

Observe que o padrão de notação para endereços IPv6 permite descartar blocos consecutivos com 0 dígitos: 1234: 000: 0000: 0000: 0000: 0000: 000: 5678 - > 1234 :: 5678 (que é muito útil).

Então - no caso mais fácil - você pode simplesmente fazer:

ssh username@[ipv6-address of your brother]
    
por 18.08.2016 / 02:22