Tenho várias máquinas em casa que gostaria de acessar da escola usando SSH e VNC. Para fazer isso, dei a eles IPs estáticos:
- 192.168.1.50: Windows
- 192.168.1.51: Ubuntu
- 192.168.1.52: Raspberry Pi / Raspbian
Eu sei que o SSH usa a porta 22, para que eu possa encaminhar essa porta para 192.168.1.51:22 no meu roteador, mas dessa forma não poderei fazer o SSH no meu Raspberry Pi. Existe alguma maneira de configurar isso para poder acessar as duas máquinas?
networking
ssh
port-forwarding
acourchesne
fonte
fonte
Respostas:
Se você possui IPv6, nem precisa de encaminhamento de porta! Simplesmente obtenha seu endereço IPv6 permanente (com base no seu endereço MAC, para garantir que ele permaneça o mesmo, a menos que seu ISP não saiba como o IPv6 funciona) e use-o para conectar-se. Como seu endereço IPv6 é voltado para o público e permite ao mundo para acessá-lo sem precisar passar pelo NAT local, você não precisa se preocupar em ativar o encaminhamento de porta em qualquer lugar. Isso "apenas funcionará".
Observe, no entanto, que o IPv6 ainda não é realmente suportado globalmente, e sua conexão doméstica à Internet e remota precisam ter o IPv6 totalmente funcional para fazer isso.
No entanto, se você é como a maioria das pessoas e só tem IPv4, ainda há um caminho! Alguns roteadores permitem encaminhar portas de origem específicas para portas de destino específicas, como:
Neste exemplo, a porta
22
é passada diretamente para minha máquinasheepdog
, enquanto a porta292
está sendo encaminhada para a porta22
ligadacoyote
.Por fim, se o seu roteador não tiver esse recurso, você poderá alterar a porta, pois o SSH não se limita apenas à execução na porta
22
. Você pode configurá-lo para o que quiser (que não está sendo usado).Em
/etc/ssh/sshd_config
(você precisa do root para editarsudo nano /etc/ssh/sshd_config
), há uma linha na parte superior do arquivo:Mude isso para o que quiser:
Reinicie o servidor SSH com
sudo service ssh restart
e encaminhe a porta no roteador.No entanto, para este caso de uso, eu consideraria se os túneis SSH são a coisa certa a fazer. Talvez você deva configurar um servidor VPN dedicado em sua rede doméstica? Isso permitirá que você acesse toda a sua rede doméstica de qualquer lugar, desde que você tenha as credenciais de segurança necessárias para a VPN. Além disso, há um pouco menos de sobrecarga com uma VPN; você normalmente precisará encaminhar apenas uma porta para uma máquina.
fonte
Uma maneira fácil de resolver esse problema é mapear portas diferentes do seu roteador para a porta 22 de suas máquinas. Por exemplo, você pode ter as seguintes configurações no seu roteador (supondo que seu roteador tenha IP
1.2.3.4
)Então, quando você usa ssh, especifique a porta que deseja usar digitando
Agora você deve conseguir se conectar a todas as suas máquinas.
fonte
Se você sabe que um de seu computador está sempre ativo, também tem a possibilidade de usá-lo como um proxy ssh.
digamos que você tenha uma configuração de nome de domínio para o seu endereço IP externo (por exemplo, myhome.dyndns.com ou o que for), o que você fará é conectar-se em um computador (digamos que o framboesa esteja sempre ativo e você encaminhar a porta do roteador para o ), suas conexões ssh serão:
escola -> (roteador, transparente aqui) -> framboesa -> ubuntu ou windows
agora, em seu ~ / .ssh / config na escola, adicione as linhas:
Para conectar-se então:
A partir de agora, se você digitar ssh ubuntu, o computador se conectará primeiro ao raspberry e, em seguida, iniciará uma sessão ssh no computador ubuntu.
Eu recomendo que, seja qual for a porta que você escolher encaminhar, desabilite a senha no /etc/sshd.conf para permitir apenas o login através da chave ssh. Dessa forma, se você configurar a chave no framboesa e no ubuntu, com o parâmetro 'ForwardAgent', precisará desbloquear a chave e não será necessária nenhuma senha para conectar-se. Dessa forma, mesmo que os robôs estejam tentando fazer login no seu ssh, eles nunca poderão fazer login, pois você não permite o logon da senha.
Bônus, isso também funciona com scp, scp foo ubuntu: / tmp / foo usará a mesma configuração sem parâmetros adicionais. Bônus 2, essa configuração não exige nenhuma alteração em casa, se amanhã você e outro computador, apenas copiar / colar o código na sua configuração ssh, alterar o host e o ip, é isso, não é necessário abrir uma nova porta no roteador
fonte
Faço isso - deixo o rpi ativado e conectado diretamente ao roteador o tempo todo (já que é o mais barato de executar) e apenas ssh nele, depois pulo para os outros - ele nunca precisa de muita atenção.
Também é possível VNC / RDP uma GUI através de um pipe ssh, meio divertido ou encaminhar uma porta que permite navegar para um servidor no seu computador desktop, mantendo-o privado.
A razão pela qual eu adicionei esta resposta foi dar algumas sugestões.
1) Use uma porta diferente de 22. Você pode deixá-la 22 no PI, mas altere a porta de entrada do roteador para algo acima de 10.000 ... Caso contrário, você receberá dezenas a centenas de ataques por dia - e uma vez que você é conhecido por estar executando um host SSH no segundo em que uma exploração é encontrada, você pertence.
2) Use certificados em vez de nome de usuário / senha - desative completamente o login de nome de usuário / senha.
3) Se o seu endereço IP pode mudar, use um serviço do tipo dyndns para obter um hosthame DNS (eu uso noip, é grátis e eles oferecem suporte a um cliente Linux para atualizar seu endereço IP - acho que você pode apenas obtê-lo) o pi agora). Ainda existem algumas outras empresas que oferecem isso de graça.
4) Mantenha seu pi (ou o que você quiser) atualizado (sudo apt-get update). Eu acredito que o ssh está muito bem avaliado até agora, mas eu também acreditava que o https ...
fonte
Estava duvidando se isso se encaixaria melhor como um comentário do que como uma resposta, mas eu o postarei aqui de qualquer maneira.
Algumas coisas em que você deve pensar antes de fazer isso:
fonte