Alterando o forward do SSH após conexão

Este artigo descreve como adicionar e/ou remover redirecionamento de portas através do FORWARD (tunneling) do SSH. Apresenta também soluções à dificuldade encontrada pelos usuários da língua portuguesa (e outras que utilizam acentuação ~ nas palavras), para utilização do caractere de escape padrão do SSH.

[ Hits: 5.327 ]

Por: Marcelo Jannotti N. Rodrigues em 21/08/2017


Introdução



Olá. Esse artigo tem o propósito mostrar como alterar as configurações de tunelamento em SSH sem a necessidade de fechar e abrir uma nova conexão.

Estamos partindo do pressuposto que você saiba o que é SSH e que saiba como acessar um terminal através dele. Espero que você também saiba como funciona o forward (tunneling) do SSH. Mas se não sabe, não se preocupe, vou fazer uma breve introdução do que é.

O forward do SSH permite que você forneça portas da sua máquina. Neste exemplo, minha máquina (com Apache) está fornecendo web ao servidor SSH:

# ssh -R 80:IP_Servidor_SSH_Minha_Empresa:80 meu_usuario@IP_Servidor_SSH_Minha_Empresa

Ou, solicite acesso às portas através do servidor SSH.

Nesse exemplo, ao acessar 127.0.0.1:3389, estarei conectando ao Remote Desktop do Servidor Windows da Empresa.

# ssh -L 3389:IP_Servidor_Windows_Empresa:3389 meu_usuario@IP_Servidor_SSH_Minha_Empresa

Funcionando como um túnel para acesso à outras máquinas remotas, ou ao próprio servidor SSH. Aprenda mais sobre SSH, em:
Como o objetivo não é te ensinar a usar o forward, mas sim mostrar como mudar o túnel sem interromper a conexão, seguiremos em frente.

Como fazer

Para os que utilizam o putty, já sabem que é fácil adicionar ou remover uma configuração de tunelamento. Mas se você não está utilizando GUI, então provavelmente estará utilizando a linha de comando "ssh", como mostrado nos exemplos anteriores.

O SSH permite que você altere as configurações de túnel usando o caractere de escape (que por padrão é "~", sem aspas) e o caractere "C" (maiúsculo e também sem aspas). Caso não funcione, de um Enter antes de fazer a sequência de caracteres. E certifique-se de não ter digitado com erro (não adianta usar "backspace", ao invés disso aperte Enter e tente novamente). Se você ainda não conseguiu, mais a frente vou dar o "pulo do gato".

Com isso, você irá obter uma linha, que será apresentada assim:

ssh>

Então, poderá digitar os seguintes comandos:

ssh> help
Commands:
  -L[bind_address:]port:host:hostport    Request local forward
  -R[bind_address:]port:host:hostport    Request remote forward
  -D[bind_address:]port                  Request dynamic forward
  -KL[bind_address:]port                 Cancel local forward
  -KR[bind_address:]port                 Cancel remote forward
  -KD[bind_address:]port                 Cancel dynamic forward

O "pulo do gato"

O que motivou a escrever esse artigo, foi justamente o "pulo do gato" que não encontrei em nenhum outro documento.

Considerando que seu teclado está configurado para o padrão brasileiro, seu teclado não aceita "~"+"C", isso não existe na língua portuguesa. No teclado americano, quando você digita "~", na mesma hora entende que você quer escrever somente o "~". No teclado brasileiro, ele acha que você pode combinar o "~" com outra vogal ou a letra n.

Pronto, nisso ele já ferrou com os brasileiros.

Então, você pensa: Vou limpar a linha com o Enter, apertar o "~" e dar espaço até ele aparecer. Iria funcionar, mas não funcionou. Já que ao fazer isso, o computador exibiu "~ " (til seguido de espaço) e quando você apagou o espaço e colocou o "C" não funcionou.

Vamos agora para o correto. Limpe a linha apertando Enter, aperte o "~", em seguida 1 (UM) "espaço", você não verá nada na tela e, por fim, aperte o "C" (lembrando que é maiúsculo e sem aspas). E pronto!

Achou tudo isso muito chato de fazer? Você tem a opção de antes de iniciar a conexão SSH utilizar o parâmetro "-e" (caractere de escape). Exemplo:

# ssh -e! meu_usuário@IP_Servidor_SSH

Então, ao invés de usar "~C" você irá usar "!C".


Espero ter ajudado!

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Acesso remoto entre GNU/Linux e Windows

Parâmetros de configuração de VPN

Análise de Desempenho: Web API - Recursos técnicos

Docker - Containers em Linux (parte 2)

Asterisk - Recebimento de Fax com encaminhamento por e-mail

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts