Você pode fazer isso facilmente, sem qualquer despesa.
1) Em casa, receba um dns (gratuito) do no-ip.com . Você receberá um nome como
my_name.no-ip.biz
2) Configure, no seu roteador ou no seu pc; Dessa forma, mesmo que seu ISP altere seu endereço IP, o apelido acima sempre aponta para sua casa. O site no-ip.com tem instruções sobre como fazer isso.
3) no seu roteador, portas de encaminhamento 6521 e uma porta para ssh (2222?) para o seu pc.
4) No trabalho: configure um túnel reverso para o moniker acima, primeiro com o ssh, e apenas verifique se funciona;
5) baixe agora autossh para sua distro, um pequeno invólucro que usa a porta 6521 (por isso!) para verificar se a conexão ainda está ativa e, se não estiver, ela mata a instância em execução de ssh e inicia um novo.
Normalmente, escrevo um executável chamado auto com este conteúdo:
#!/bin/sh
/usr/lib/autossh/autossh -M 6521 -f -p 2222 -2 -N -R 8400:localhost:22 [email protected] -i /home/myname/.ssh/id_rsa
Isso configura uma conexão ssh sem senha (consulte o uso da chave criptográfica ** id_rsa) sem terminal (-N), no protocolo 2 (-2), usando a porta 6521 para verificar se a conexão ainda está ativa e redirecionando para minha porta de origem 22 tudo o que é enviado para a porta 8400 no trabalho.
Eu coloquei esta linha
su myname -c /home/myname/bin/auto
para executar o arquivo executável auto em /etc/rc.local automaticamente na inicialização, como eu em vez de root. Agora posso me conectar ao meu pc de trabalho com o comando:
ssh -Y myname_at_work@localhost -p 8400 -i /home/myname/.ssh/id_rsa_work
onde agora tenho que usar a chave sem senha para trabalho . Eu descobri que essa conexão é sempre, sempre ativa. Verdadeiramente satisfatório.