Ativar encaminhamento de porta SSH no Linux

Ativar encaminhamento de porta SSH no Linux

A maioria dos usuários do Linux está familiarizada com o protocolo SSH, pois permite o gerenciamento remoto de qualquer sistema Linux. Também é comumente usado para o SFTP para baixar ou fazer upload de arquivos. O SSH é conhecido como um protocolo muito seguro porque criptografa o tráfego de ponta a ponta. Mas os túneis criptografados que cria são realmente versáteis e podem ser usados ​​para mais do que apenas gerenciamento de servidor remoto ou transferência de arquivos.

O encaminhamento de porta SSH pode ser usado para criptografar o tráfego entre dois sistemas para praticamente qualquer protocolo. Isso é realizado pela criação de um túnel seguro e depois roteando o tráfego de outro protocolo através desse túnel. Por princípio, funciona muito de maneira semelhante a uma VPN.

Neste guia, examinaremos as instruções passo a passo para mostrar como usar o encaminhamento de porta SSH para criar um túnel seguro para algum outro aplicativo. Como exemplo, criaremos o encaminhamento de porta para o protocolo Telnet, que geralmente é evitado por causa de como ele transfere dados em texto claro. Isso garantirá o protocolo e tornará seguro usar.

Neste tutorial, você aprenderá:

  • Como usar o encaminhamento da porta SSH
  • Como criar um túnel SSH persistente
Criando um túnel SSH através do encaminhamento de portas no Linux
Requisitos de software e convenções de linha de comando Linux
Categoria Requisitos, convenções ou versão de software usada
Sistema Qualquer distro Linux
Programas OpenSsh, Autossh
Outro Acesso privilegiado ao seu sistema Linux como raiz ou através do sudo comando.
Convenções # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
$ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular

Como usar o encaminhamento da porta SSH



O encaminhamento de portas SSH funciona encaminhando o tráfego de uma porta específica em seu sistema local para uma porta no sistema remoto. Os dois portos não precisam ser os mesmos. Como exemplo, encaminharemos a porta 4500 em nosso sistema local para a porta 23 (telnet) em um sistema remoto.

Você não precisa fazer isso como uma raiz. Como estamos usando uma porta superior a 1024, um usuário comum pode criar essa conexão para a frente da porta. Lembre -se de que um túnel é erguido apenas quando a conexão SSH está funcionando.

$ ssh -l 4500: 127.0.0.1:23 usuá[email protected] 

Vamos dissecar o que está acontecendo neste comando.

  • -eu - Esta opção diz ao SSH que queremos criar um túnel através do encaminhamento de porta.
  • 4500 - A porta em nosso sistema local, que enviaremos o tráfego.
  • 127.0.0.1 - Este é o endereço de loopback do nosso sistema local.
  • 23 - A porta remota que estamos tentando nos conectar.
  • do utilizador - O nome de usuário para fazer login no SSH no servidor remoto.
  • LinuxConfig.org - O IP do servidor remoto ou o nome de domínio.

Neste ponto, toda conexão que usa a porta 4500 no host será redirecionada para a porta remota 23.

Criando o túnel SSH da porta local 4500 para a porta remota 23

Na captura de tela acima, criamos com sucesso um túnel para o servidor remoto. Como você pode ver, parece um login ssh típico. Mas agora, em nosso sistema local, podemos acessar o serviço Telnet do sistema remoto, roteando o tráfego pela porta 4500.

$ Telnet 127.0.0.1 4500 


Abriremos um novo terminal e tentaremos isso em nosso sistema de teste, deixando o outro terminal aberto para que ele mantenha nosso túnel SSH.

Usando Telnet para conectar -se a um servidor remoto e rotear o tráfego através do SSH para segurança

Como você pode ver, agora temos uma sessão de telnet aberta para o servidor remoto, mas é uma conexão garantida, pois está sendo enviada pelo túnel SSH existente que estabelecemos no outro terminal.

Isso é tudo o que há para isso. Você pode usar túneis SSH para qualquer tipo de tráfego. A coisa a lembrar é que você deve apontar seu aplicativo para o seu endereço (127.0.0.1) e o número da porta que você configura para o túnel SSH.

Como criar túneis SSH persistentes

Você deve ter notado que, para túneis SSH de longo prazo, é inconveniente que ele se baseie em nossa conexão SSH aberta. Se houver alguma latência temporária ou o terminal SSH simplesmente atingir seu tempo limite, o túnel é derrubado junto com a sessão SSH.

Você pode instalar o Autossh Utilitário com o gerenciador de pacotes do seu sistema, se você quiser criar um túnel que automaticamente se coloca de volta quando desce. Você precisará ter as chaves RSA configuradas para ssh sem senha para que este método funcione.

A sintaxe para construir um túnel persistente é basicamente idêntico ao método SSH normal.

$ AutoSSH -l 4500: 127.0.0.1:23 usuá[email protected] 

Pensamentos finais

Neste guia, vimos como usar o encaminhamento de porta SSH no Linux. Isso permite que um usuário construa um túnel SSH seguro que possa ser utilizado por outros aplicativos e protocolos para conexões criptografadas para servidores remotos. Como exemplo, vimos como o protocolo Telnet poderia ser protegido através do encaminhamento da porta SSH. Também aprendemos a manter os túneis SSH persistentes usando o utilitário AutoSSH.

Tutoriais do Linux relacionados:

  • Como configurar o servidor e o cliente FTP/SFTP no Almalinux
  • Como configurar o servidor SFTP no Ubuntu 22.04 Jellyfish…
  • Coisas para instalar no Ubuntu 20.04
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Arquivos de configuração do Linux: os 30 primeiros mais importantes
  • Configurar servidor FTP no Linux
  • Coisas para instalar no Ubuntu 22.04
  • Download do Linux
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?