Estou fazendo um salto duplo SSH para entrar primeiro em um servidor que tem um endereço IP público e porta SSH aberta, em seguida, SSHing no próximo computador, enquanto ligando a minha porta VNC local para a porta de sistemas remotos. Em um diagrama:
[Meu sistema local] --- túnel SSH (porta 5900 para frente) - > [Servidor] - Tunnel SSH (porta 5900 para a frente) - > [Sistema Remoto]
Eu criei um único comando de string para fazer tudo isso, mas há um problema. x11VNC parece falhar uma quantidade excessiva. Como, literalmente, eu poderia ter 10 minutos de trabalho antes do meu sistema congelar novamente e eu tenho que reiniciar x11vnc. Mas isso não é o que esta questão é sobre.
O comando que estou usando é o seguinte:
ssh -L 5900:[REMOTE SYSTEM IP]:5900 [email protected] 'ssh [REMOTE SYSTEM IP] 'pkill x11vnc; x11vnc --ncache 10''
Agora eu incluí o comando PKILL aqui para limpar a instância x11vnc congelada que ainda está em execução para liberar a porta 5900 (e não ter processos zumbis permeando meu sistema): No entanto, isso não funciona. Não importa o que eu faça, se for um hop duplo, isso apenas retorna x11vnc, comando não encontrado
NOTE : Se eu remover o pkill, esta sequência de comandos funciona perfeitamente. Mas eu preciso matar o zumbi
Se a partir do servidor, no entanto, tento executar o comando:
ssh [REMOTE SYSTEM IP] 'pkill x11vnc; x11vnc --ncache 10'
isso funciona bem! Alguém sabe por que isso não vai funcionar quando se faz uma conexão ssh "double hop"?