Eu costumava ssh -L 10002:192.168.0.30:10002 192.168.1.135
estabelecer o encaminhamento de porta, mas agora preciso removê-lo.
Como eu faço isso?
ssh
port-forwarding
user16654
fonte
fonte
Warning: remote port forwarding failed for listen port
mensagem.Respostas:
Se você estiver usando Linux, você pode matar o processo:
e depois use
Para matar o processo.
Se o comando kill não for bem sucedido, você pode tentar
fonte
kill -9
até depois de tentar apenaskill
. Muitos processos terão manipuladores de sinal que limparão o uso de recursos, fecharão bem as conexões e outras tarefas de pré-desligamento. Se você mata com -9, o processo morre imediatamente sem fazer a limpeza. Matar sem -9 vai trabalhar a maior parte do tempo.kill -9
sem razão é como usar uma espingarda para matar um mosquito. :)pgrep ssh | xargs kill
.-9
Na verdade, não use para nadassh
comando ou que todos osssh
comandos que você está executando são bons para matar. Isso dificilmente é uma boa suposição geral.ssh
instâncias em vários servidores remotos o tempo todo, algumas delas sem o meu envolvimento ativo direto. Por exemplo, o modo Emacs Tramp abre umassh
conexão nos bastidores quando visito um buffer remoto. Algumas pessoas usam sistemas de arquivos do espaço do usuário que fazem algo semelhante. Não é nada incomum. De fato, eu assumiria que um único usuário, uma únicassh
instância, é um caso de uso marginal minoritário. Se funciona para você, é bom para você, mas não é um bom conselho geral.Ao usar a multiplexação ssh, interromper o processo ssh geralmente é indesejável (mata todas as conexões abertas com esse host) e você não pode acessar facilmente a fuga porque "a fuga não está disponível para sessões multiplexadas". O caminho certo é executar o análogo do comando de encaminhamento que você deseja cancelar, mas adicionando
-O cancel
. Por exemplo:Isso desativará esse encaminhamento de porta sem encerrar a sessão. Novamente, isso funcionará apenas se a multiplexação ssh estiver em uso para a conexão com 192.168.1.135 .
fonte
ssh -O exit 192.168.1.135
.Como cancelar uma porta encaminhada em uma sessão SSH já em execução:
-KL port
Você deve ver isso:
fonte
Você pode usar a "tecla de escape" (geralmente ~) seguida de C para obter um cli na sua conexão. Você pode remover túneis sem interromper sua conexão.
fonte
Você pode entrar em um console interativo digitando ~C(capital "C"). Isso permite adicionar e remover dinamicamente encaminhamentos de porta (entre outras coisas).
Essa sequência deve ocorrer logo após um retorno de carro / nova linha. Então, na dúvida, basta digitar Enter~C(em sequência).
Se você não vê os personagens aparecerem no console, está fazendo certo :)
Agora você deve ver um
ssh>
prompt.Para remover a porta, basta digitar
-KL 10002
seguido por Enter(onde10002
está sua porta encaminhada).O inverso - adicionando um novo encaminhamento - pode ser feito assim (do início ao fim):
Enter~C
Enter
fonte
~C escape not available to multiplexed sessions
. Se for esse o caso, veja a excelente resposta da a3nm.