Eu não tenho certeza se estou respondendo a sua pergunta, mas eu sinto que há um tijolo faltando no que você pretende fazer, então vou adicionar o link perdido e arriscar que essa não foi sua pergunta.
O que você pretende fazer é possível com SSH e não tão difícil de configurar, mas deixe-me começar com um aviso: o tunelamento SSH é ilegal em muitos ambientes de trabalho e pode levá-lo a ser demitido, mesmo que seu propósito seja alcançar seu próprio servidor doméstico com dados / backups.
Para alcançar o servidor digamos em casa ("home") atrás do NAT do seu ISP de um laptop em uma rede pública, digamos, um internet café ("laptop") você faria o seguinte.
Primeiro, você precisa de um servidor SSH em execução que seja acessível na Internet púbica (SSShub).
Conecte "home" permanentemente com "SSHhub" e remote encaminhando uma porta de "SSHhub" para o seu servidor "home". Dê uma olhada no autossh para certificar-se de que a conexão persistirá se você estiver ausente e verifique a página do manual sshd_config para obter o encaminhamento remoto correto. Na sua máquina em casa você começa
autossh -M 0 -Nf SOCKSUSER@SSHHUB -r 8022:localhost:22
Isso encaminhará a porta 8022 no servidor SSHhub público para a porta SSH dos servidores domésticos 22.
Agora você está sentado em um internetcafe com seu laptop e local encaminha uma porta irrestrita para o SSHhub na porta 8022 (usando o exemplo acima). Então, no seu laptop você começa
autossh -M 0 -Nf SOCKSUSER@SSHHUB -l 8122:localhost:8022
Quando isso é configurado, você pode conectar o SSH em sua máquina doméstica a partir do seu laptop, iniciando
ssh SOCKSUSER@localhost -p 8122
A sessão ssh é encaminhada do localhost: 8122 no seu laptop para o localhost: 8022 no SSHhub e de lá para o localhost: 22 no seu servidor doméstico.
Você será solicitado a digitar a senha da conta. Tudo isso lhe dará algumas dores de cabeça com uma chave pública do laptop e do servidor doméstico no arquivo .ssh / authorized_keys do SSHhub. PasswordAuthentication no
no arquivo / etc / ssh / sshd_config deve estar ok, já que você está logando dentro do localhost, mas verifique você mesmo. Você pode querer configurá-lo para sim durante a depuração.
Verifique a página de manual do autossh para a opção -M 0
. Isso fará o "ping" do servidor SSH através do túnel criptografado, caso contrário você terá que configurar as portas de monitoramento com a opção -M
. -M 0
requer que você defina as variáveis ServerAlive no arquivo .ssh / config assim
ServerAliveInterval 15
ServerAliveCountMax 2
TCPKeepAlive no
Você pode tê-los também inline, eu acho.
Agora posso responder sua pergunta original: é possível fazer login em sua máquina doméstica por trás do NAT sem a chave pública RSA na máquina de laptop / internet cafe? A resposta é "sim" (tanto quanto me lembro) no cenário acima, quando você permite PasswordAuthentication yes
no SSHhub, para que você possa se conectar de qualquer máquina (com o cliente SSH disponível) ao SSHhub.
Resposta muito atrasada e provavelmente errada, mas usei algum tempo para descobrir e acho que outros estão se perguntando sobre isso também.