Como fechar um túnel SSH existente?

1

No Windows, eu crio uma tarefa agendada na inicialização do Windows:

C:\cygwin64\bin\ssh.exe -R 2222:127.0.0.1:3389 user@PublicHost

para expor meu serviço rdp em um servidor ip público, e posso conectar o rdp com êxito, mas não consigo encontrar o ssh.exe no gerenciador de tarefas e, quando fecho as janelas, às vezes a porta 2222 do PublicHost não é liberada. mais tarde eu reiniciar o windows novamente, o ssh.exe me dará um aviso, o encaminhamento de porta falhou.

Existe uma maneira de solicitar ao PublicHost para liberar a porta (eu não tenho acesso root no PublicHost)?

    
por Kingzone Wong 08.09.2016 / 17:48

2 respostas

0

Se você acabou de se conectar à porta 2222 do PublicHost, ele deve tentar enviar tráfego pelo túnel. Isso expirará (após alguns minutos) ou receberá uma resposta de reconfiguração (imediatamente), o que resultará na conexão sendo fechada e no processo de sshd sendo encerrado.

Você faz isso usando qualquer número de ferramentas, mas aqui está uma maneira de fazer isso automaticamente no Windows:

C:\cygwin64\bin\ssh.exe user@PublicHost "echo x | nc 127.0.0.1 2222"
    
por 09.09.2016 / 05:48
0

Você pode executar o ssh em primeiro plano para obter um prompt do shell e fazer o logout da sessão do ssh?

Porque, se o Windows estiver encerrando e finalizando o ssh.exe, ele deverá fechar essa porta. E se não for liberado pelo servidor, enviar seu próprio sinal de kill provavelmente terá o mesmo efeito (se você puder encontrá-lo no gerenciador de tarefas).

Ou talvez você possa fazer o login (manual ou com script) no PublicHost e matar coisas desse lado (como / bin / bash do seu UID) para que a conexão seja interrompida?

    
por 08.09.2016 / 18:02