start autossh reverter túnel automaticamente quando a rede aparece

7

Eu conecto do meu PC em casa através de um servidor de Internet que possuo para um cliente restrito (que eu também possuo) usando um túnel ssh reverso.

Eu tenho um script que configura o cliente restrito como intermediário do túnel ssh. Funciona bem se eu executar o script manualmente. Aqui está:

#!/bin/sh
autossh -M 12399 -oPubkeyAuthentication=yes -oPasswordAuthentication=no -oLogLevel=error  -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no -i ~/.ssh/named_id_rsa -R 12345:localhost:22 [email protected] -p 22

Eu quero que ele seja executado automaticamente sempre que a rede estiver ativa nessa máquina.

Para conseguir isso, pensei em salvá-lo como: /etc/network/if-up.d/reverse_ssh_tunnel.sh

Eu sei que teria de remover "~ /" e especificar o caminho completo para a chave privada como home / username / .ssh / named_id_rsa.

Eu suspeito que terei que usar su -c my_script_name nome de usuário, mas não consigo fazer isso funcionar. Resolver essa parte da minha pergunta é o mais importante. Precisa ser totalmente automático & sem supervisão.

Para se conectar da minha casa, faço duas etapas manuais:

casa ssh - > intermediário
B. ssh middleman - > cliente restrito

Pode A & B ser feito em um único passo? (Isso seria bom, mas não essencial.)

Em resumo:

  1. Idealmente, gostaria de fazer o A & B em uma etapa, manualmente.
  2. E preciso do cliente restrito - > middleman autossh connection para ser totalmente automático.
por MountainX 23.06.2013 / 07:17

1 resposta

4

OK, finalmente consegui trabalhar. Os detalhes estão nesta questão: Área de trabalho remota sobre o túnel reverso do SSH para substituir o TeamViewer

Em resumo:

Na área de trabalho (que receberá suporte):

su -l -c "autossh -M 5234 -N -f -R 1234:localhost:22 [email protected] &" username

No laptop (dando suporte):

me @ laptop: ~ / .ssh $ nano config

Host family_desktops
  ProxyCommand ssh middleman_fqdn nc localhost %p
  User admin
  PasswordAuthentication no
  IdentityFile ~/.ssh/my_id_rsa

Depois, conecto-me a "área de trabalho remota" em uma etapa:

me @ laptop: ~ $ ssh family_desktops -p 1234

    
por 10.07.2013 / 08:54