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: 1.354 ]

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

Criando RADIUS no Windows Server 2012 para autenticar no Mikrotik

Como encontrar o NetID e o Broadcast de uma determinada rede

Servidor de logs para Routers e Switches Cisco

Monitorando Rede com Zabbix no Debian 7

A camada de enlace de dados

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts