Todos os tutoriais que assisti mostraram como conectar duas máquinas via ssh localmente. Mas e se eu quiser controle remoto via internet?
Eu sei que endereços IP que começam com 192.168 são locais e invisíveis para usuários de internet (de corse, 255 * 255 = 65k ip endereços não seriam suficientes para milhões de dispositivos de internet em uma rede tão grande), então eu precisava conheço meu IP público e descobri digitando
curl icanhazip.com
no terminal. Além disso, sei que a porta 22 é padrão para o protocolo ssh e meu firewall, exatamente os dois firewalls das máquinas estão desabilitados. Ambas as máquinas usam o Ubuntu 16.04. Em um, que eu escolhi para ser o servidor, criei o diretório .ssh na pasta home (com permissão 700) e o arquivo "authorized_users" (com permissão 600) dentro dele. Eu verifiquei
status do serviço sshd
e reiniciado, por isso estava sendo ativo. Eu (exatamente meu irmão, que se destina a ser usuário remoto do meu comp ou seja, servidor) gerou chaves públicas e privadas por:
ssh-keygen -t dsa
e criou os arquivos id_dsa e id_dsa.pub na máquina remota (não no servidor). Depois disso, eu enviei meu IP público (porque eu quero a comunicação ssh via internet, não consigo ver outra rede) e ele digitou:
ssh-copy-id servername @ serverPublicIP
Mas, ele não criou nada em meus /home/pc/.ssh/authorized_users e do corse depois de tentar se conectar por
ssh servername @ serverPublicIP
não teve sucesso.