TOP  

SSH para IPv6: O Guia Completo

Como fazer SSH para um servidor com IPv6? Como configurar o SSH (no seu servidor ou computador) para aceitar ligações IPv6? Estas são perguntas sobre o cliente e o servidor SSH que responderemos neste guia.

Em poucas palavras: Para SSH para IPv6, (em qualquer sistema baseado em UNIX) use o seguinte comando:

ssh nome_de_utilizador@seu_servidor_ipv6

Mas há mais do que apenas este simples comando.

Para saber mais, continue a ler.

Guia para SSH para IPv6

Este artigo irá orientá-lo na configuração do SSH e do IPv6 (no Ubuntu Linux), para que possa ter uma comunicação de rede segura e eficiente. Cobriremos tudo, desde a instalação e configuração do SSH até à ativação do IPv6 e à gestão das configurações de rede. Também iremos rever alguns comandos SSH comuns para redes IPv6, um rápido resumo de como fazer SSH para um IPv6 noutros sistemas e daremos algumas dicas de resolução de problemas para o ajudar a lidar com quaisquer problemas que surjam.

Índice

  1. Configurando SSH e IPv6 no Ubuntu
    • Instalar o servidor SSH
    • Configurar o SSH
    • Ligação ao servidor através de SSH
  2. Ativar e configurar o IPv6 no Ubuntu
    • Verificação da configuração do Kernel IPv6
    • Configuração de redes IPv6
    • Segurança e configuração de rede para SSH IPv6 Setup
  3. Comandos SSH comuns e gestão de redes IPv6
    • Comandos básicos de SSH
    • Comandos básicos SSH IPv6
    • Comandos SSH avançados
  4. SSH para Ipv6 em outros sistemas
    • Configuração de SSH IPv6 em dispositivos Cisco
    • SSH IPv6 no Windows e PowerShell.
    • SSH IPv6 no macOS. 
  5. FAQ de resolução de problemas
  6. Palavras finais.

1. Configurando SSH e IPv6 no Ubuntu

Configurar o Secure Shell e o IPv6 no Ubuntu envolve alguns passos críticos para garantir uma comunicação de rede segura e eficiente. Abaixo encontra-se um guia completo que detalha cada passo, incluindo a configuração e os comandos.

a. Passo 1: Instalar o servidor SSH

  • Abra o seu terminal e actualize a sua lista de pacotes com:
sudo apt update.
  • Instalar o servidor OpenSSH com (se já estiver instalado, será informado aqui):
sudo apt install openssh-server
configuração do SSH IPv6
  • Uma vez instalado, o serviço SSH deve iniciar automaticamente. Para verificar o seu estado, utilize:
sudo systemctl status ssh
configuração do SSH IPv6

b. Passo 2: Configurar SSH (opcional)

  • O ficheiro de configuração principal para SSH é /etc/ssh/sshd_config. Faça uma cópia de segurança antes de editar:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  • Abrir o ficheiro para edição com:
sudo nano /etc/ssh/sshd_config (ou sudo vi /etc/ssh/sshd_config)
  • Pode efetuar várias alterações aqui, tais como:
    • Alterar a porta SSH predefinida (Porta 22) para uma porta personalizada para maior segurança.
    • Desativar o início de sessão de raiz definindo PermitRootLogin no.
    • Restringir o acesso SSH a utilizadores específicos com o nome de utilizador AllowUsers.
Ficheiro de configuração SSH IPv6
  • Depois de efetuar as alterações, guarde e saia do editor (CTRL+X, depois Y, depois Enter).
  • Reinicie o serviço SSH para aplicar as alterações:
sudo systemctl restart ssh

c. Passo 3: Ligue-se ao seu servidor através de SSH

  • A partir de outra máquina, utilize:
ssh nome_do_usuário@seu_ip_servidor
  • Por exemplo, a partir da nossa máquina macOS, vamos fazer ssh para a nossa máquina Ubuntu Linux "IPv6-SSH-LAB" (que é realmente um AWS EC2 localizado remotamente nos EUA)
  • Utilizaremos o nome de utilizador predefinido 'ubuntu' e o nome de domínio do servidor. Além disso, por razões de segurança (em vez de utilizar uma palavra-passe), vamos utilizar um ficheiro de chave privada, que está localizado no nosso computador local. 
  • Primeiro, localize na mesma pasta onde está a chave privada e, em seguida, execute o seguinte comando:
ssh -i "nome_da_chave_privada.pem" nome_do_usuário@domínio_do_servidor

Nota: A opção -i no comando SSH especifica o ficheiro de identidade (chave privada) utilizado para a ligação. Portanto, use esta opção apenas quando estiver a usar um ficheiro de chave privada para ssh para um IPv6, IPv4 ou domínio. 

SSH em IPv6

Temos o protocolo configurado no nosso servidor, mas é provável que o IPv6 não esteja ativado ou sequer configurado. Faremos isso na próxima secção. 

2. Ativar e configurar o IPv6 no Ubuntu

Esta secção irá guiá-lo através da ativação e configuração do IPv6 no Ubuntu. Iremos cobrir como verificar e ativar o IPv6 no kernel, configurar a rede IPv6 e implementar medidas de segurança chave para uma configuração de rede segura. Os passos seguintes irão garantir que o seu servidor está preparado para o IPv6 e é seguro.

a. Etapa 1: Certifique-se de que o IPv6 esteja habilitado no kernel

NOTA: Também é importante notar que mesmo que o IPv6 esteja ativado ao nível do kernel (que é frequentemente a predefinição nas distribuições Linux modernas), continua a necessitar de uma configuração de rede adequada e de um endereço IPv6 da sua rede ou ISP para estar totalmente operacional.

  • Verifique se o IPv6 está ativado com cat /proc/sys/net/ipv6/conf/all/disable_ipv6.
  • Se o resultado for 0, o IPv6 está ativado.
ativar o ipv6
  • Se o resultado for 1, o IPv6 está desativado.
  • Active-o editando o ficheiro /etc/sysctl.conf:
sudo nano /etc/sysctl.conf (ou sudo vi /etc/sysctl.conf)
  • Adicione as seguintes linhas no final do ficheiro:
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
ipv6 ativado
  • Guardar e sair do editor.
  • Aplicar alterações com:
sudo sysctl -p

b. Passo 2: Configurar a rede IPv6

  • Abrir o ficheiro de configuração da interface de rede:
sudo nano /etc/network/interfaces (ou sudo vi /etc/network/interfaces)
  • Poderá ver as suas definições IPv4 em iface eth0 inet dhcp (ou semelhante).
  • Para IPv6 estático, adicione o seguinte (substitua pelos seus dados):
iface eth0 inet6 static
endereço O SEU_IPV6_ADDRESS
máscara de rede A SUA_IPV6_NETMASK
gateway O SEU_IPV6_GATEWAY
  • Para DHCPv6, basta adicionar:
iface eth0 inet6 dhcp
ficheiro de configuração IPv6 SSH
  • Guardar e sair do editor.
  • Reinicie o serviço de rede:
sudo systemctl restart networking

Quer saber mais sobre o DHCPv6? Consulte a nossa guia absoluto para DHCPv6

Nota: Se estiver a utilizar um sistema Ubuntu moderno, especialmente qualquer coisa que corra o Ubuntu 16.04 LTS e posterior, a configuração de rede é tipicamente tratada pelo netplan, em vez do tradicional ficheiro /etc/network/interfaces. Os ficheiros de configuração do netplan estão normalmente localizados em /etc/netplan/. Os nomes dos arquivos podem variar, mas geralmente terminam em .yaml. E edite a configuração do Netplan usando qualquer editor de texto. 

configuração do SSH IPv6

c. Passo 3. Considere a segurança e a configuração de rede para a configuração do SSH IPv6.

Quando estiver a configurar o SSH e o IPv6 no seu servidor, é importante certificar-se de que possui medidas de segurança fortes e configurações de rede eficientes. 

Este passo centrar-se-á nas melhores práticas para melhorar a segurança da sua configuração, bem como para garantir que a sua rede funciona sem problemas. Considere-as como directrizes ou melhores práticas que o ajudarão a proteger o seu servidor de potenciais ameaças e a garantir que a sua rede funciona de forma fiável.

  • Atualizar regularmente o software: Mantenha o seu servidor Ubuntu atualizado com 'sudo apt update && sudo apt upgrade'.
  • Utilizar autenticação baseada em chaves: Para SSH, prefira a autenticação baseada em chaves em vez de palavras-passe para maior segurança.
  • Configuração da firewall: Configure uma firewall (como a UFW) para controlar o tráfego de entrada e de saída.
  • Monitorizar registos: Verifique regularmente os registos em /var/log/auth.log para SSH e /var/log/syslog para actividades gerais do sistema.
  • Desativar serviços não utilizados: Desativar quaisquer serviços ou portas que não estejam a ser utilizados.
  • Cópias de segurança regulares: Certifique-se de que dispõe de um sistema de cópia de segurança para a sua configuração e dados críticos.

Ao seguir estes passos, pode configurar eficazmente o SSH e o IPv6 no seu servidor Ubuntu, garantindo uma configuração de rede segura e eficiente.

3. Comandos SSH comuns e gestão de redes IPv6

a. Comandos SSH essenciais para gerir servidores Linux.

Trabalhar com servidores Linux envolve frequentemente a utilização de SSH para gestão remota. Aqui estão alguns comandos SSH comuns que são essenciais para a gestão de servidores:

a.1 Comandos SSH básicos

Seguem-se os comandos SSH básicos do dia a dia que lhe permitirão ligar-se a um servidor, copiar ficheiros de e para ele (usando o protocolo SCP) e transferir ficheiros ou directórios de forma segura (usando o protocolo SFTP).

  • Ligar a um servidor.
ssh nome_de_usuário@servidor_ip
  • Copiar ficheiros para o servidor:
scp /caminho/para/local/ficheiro nome de utilizador@servidor_ip:/caminho/para/remoto/diretório
  • Copiar ficheiros do servidor:
scp username@server_ip:/caminho/para/remoto/ficheiro /caminho/para/local/diretório
  • Transferir ficheiros/directórios de forma segura: Utilize o seguinte comando.
sftp nome_de_usuário@servidor_ip

a.2 Comandos básicos SSH IPv6:

Quando se trabalha com IPv6, os comandos são fundamentalmente os mesmos, mas é necessário formatar corretamente os endereços IPv6. Eis como pode adaptar os comandos SSH apresentados anteriormente:

  • Conectar a um servidor usando IPv6 via SSH:
sftp nome_de_usuário@servidor_ip
Example: ssh username@[2001:0db8:85a3:0000:0000:8a2e:0370:7334]
  • Copiar ficheiros de e para o servidor utilizando IPv6:
Para o servidor: scp /caminho/para/local/ficheiro nome de utilizador@[endereço_ipv6]:/caminho/para/remoto/diretório
Do servidor: scp username@[ipv6_address]:/caminho/para/remoto/ficheiro /caminho/para/local/diretório
  • Transferir ficheiros/directórios de forma segura utilizando IPv6:
sftp nome de utilizador@[endereço_ipv6]

a.3 Comandos SSH avançados

O SSH oferece mais do que apenas conetividade básica para uma gestão sofisticada do servidor. Também pode gerar chaves SSH para um acesso seguro sem palavras-passe, copiar essas chaves para o seu servidor para um início de sessão fácil, executar comandos remotamente e configurar um túnel ou reencaminhamento de portas para uma transmissão de dados segura. 

Estes comandos avançados aumentam a segurança e oferecem-lhe mais formas de interagir com os seus servidores.

  • Geração de chaves SSH:
ssh-keygen -t rsa
  • Copiar a chave SSH para o servidor:
ssh-copy-id username@server_ip
  • Executar um comando remoto:
ssh nome_do_usuário@servidor_ip 'comando'
  • Encaminhamento de porta/túnel SSH:
Local: ssh -L porta_local:ip_servidor_destino:porta_remota nome_de_usuário@ssh_servidor_ip
Remoto: ssh -R porta_remota:local_server_ip:porta_local nome_de_usuário@ssh_server_ip

b. Dicas adicionais sobre SSH IPv6

Pode definir um endereço de Protocolo Internet v6 no seu ficheiro de configuração SSH (~/.ssh/config) para facilitar a gestão da ligação. Este ficheiro pode não existir por defeito, mas pode criá-lo ou editá-lo se já lá estiver.

  • No editor, pode definir uma entrada para o seu servidor utilizando o seu endereço IPv6. Eis um exemplo:
Anfitrião myserver

HostName 2001:0db8:85a3:0000:0000:8a2e:0370:7334

Nome de utilizador
  • Guardar e fechar o ficheiro.

Nota: Pode adicionar várias directivas adicionais no ficheiro de configuração SSH (~/.ssh/config) para simplificar as suas definições de ligação, incluindo a especificação de um ficheiro de chave privada (que utilizámos anteriormente para ligar ao nosso servidor SSH). No entanto, é importante notar que não pode especificar diretamente palavras-passe no ficheiro de configuração SSH por razões de segurança. O SSH foi concebido para desencorajar a codificação de palavras-passe e encoraja métodos mais seguros como a autenticação baseada em chaves.

ativar o SSH IPv6
  • Substitua 'myserver' por uma alcunha para o seu servidor, 2001:0db8:85a3:0000:0000:8a2e:0370:7334 pelo endereço IPv6 real do seu servidor e username pelo seu nome de utilizador SSH nesse servidor.
  • Lembre-se de que pode comprimir os IPv6s para os tornar mais fáceis de lembrar e escrever (Regras de compressão IPv6)
  • Ligar ao servidor: Agora, pode ligar-se ao seu servidor simplesmente escrevendo: ssh 'myserver' ou, no nosso caso, ssh SSH-SERVER

Nota 1: Se estiver a utilizar scripts para automatizar tarefas (como, por exemplo, SSH IPv6 automaticamente), certifique-se de que trata e formata corretamente os endereços IPv6.

Nota 2: Certifique-se de que a sua firewall está configurada para permitir o tráfego SSH sobre IPv6 se estiver a operar num ambiente de pilha dupla.

4. Configurar SSH para IPv6 noutros sistemas. 

Esta secção aborda os pormenores da configuração do SSH sobre IPv6 em várias plataformas, incluindo dispositivos Cisco, sistemas Windows (com PowerShell) e MacOS. 

a. Configuração de SSH IPv6 em dispositivos Cisco

A Cisco oferece um forte suporte para IPv6 nos seus dispositivos. A configuração do SSH para IPv6 nos routers e comutadores da Cisco é um passo fundamental para garantir uma gestão remota segura numa rede moderna. Segue-se um guia rápido sobre como configurar o SSH IPv6 para a Cisco

Nota: Antes de configurar o SSH, é essencial ativar o IPv6 no seu dispositivo Cisco. Isto pode ser efectuado utilizando o comando 'ipv6 unicast-routing' no modo de configuração global.

  • Configuração do SSH para IPv6:
    • Para ativar o SSH num dispositivo Cisco, é necessário definir primeiro o nome do anfitrião e o nome do domínio.
    • Gerar chaves RSA que são necessárias para SSH usando o comando 'crypto key generate rsa'.
    • Ativar o SSH e especificar a versão (de preferência a versão 2) utilizando o comando 'ip ssh version 2'.
    • Configurar as definições de "line vty" para utilizar SSH e especificar o acesso ao endereço IP.
  • Acesso SSH através de endereço IPv6:
    • Atribua um endereço IPv6 à interface do dispositivo e certifique-se de que está acessível através da rede.
    • Ligar ao dispositivo Cisco utilizando um cliente SSH, especificando o endereço IPv6.

b. SSH IPv6 no Windows e PowerShell.

O SSH para IPv6 não se destina apenas a dispositivos Cisco ou Linux. À medida que a adoção cresce, os utilizadores do Windows, desde administradores de rede a programadores, também terão de saber como utilizar o SSH através deste protocolo. Além disso, com o PowerShell, uma ferramenta inestimável para criar scripts e automatizar tarefas de rede, pode automatizar e gerir ligações SSH, sem problemas.

b.1 Executando SSH IPv6 no Windows.

  • Cliente SSH para Windows:
    • As versões modernas do Windows 10 e do Windows Server vêm com um cliente SSH incorporado, permitindo aos utilizadores estabelecer facilmente ligações SSH utilizando endereços IPv6.
    • Para utilizar o SSH, abra o PowerShell ou a Prompt de Comando e utilize a sintaxe SSH padrão, especificando o endereço IPv6 entre parênteses, como: ssh username@[IPv6_Address].
  • Clientes SSH de terceiros: Para uma experiência mais rica em recursos, clientes de terceiros como o PuTTY podem ser usados. O PuTTY suporta endereços IPv6, permitindo ligações a servidores SSH configurados com IPv6.
  • Configuração de rede para SSH sobre IPv6: Certifique-se de que a sua máquina Windows está corretamente configurada para IPv6. Isto inclui ter um endereço válido e garantir que as definições da rede e da firewall permitem o tráfego SSH através de IPv6.

b.2 Utilize o PowerShell para gerir ligações SSH IPv6.

  • Módulo SSH do PowerShell: O Windows PowerShell 6.0 e superior tem suporte nativo para comunicação remota baseada em SSH. Isto significa que pode utilizar o PowerShell para estabelecer ligações SSH, incluindo endereços Internet Protocol v6.
  • Scripting SSH Connections: O PowerShell pode ser utilizado para criar scripts do processo de ligação SSH a dispositivos com endereços IPv6. Isto inclui a automatização dos procedimentos de início de sessão, a execução de comandos remotos e o tratamento da recuperação de dados ou das alterações de configuração através de SSH.

Segue-se um exemplo de um Script do PowerShell para este efeito. Este script do PowerShell automatiza uma ligação SSH a um servidor utilizando um endereço IPv6. Ele constrói e executa um comando SSH, executa um comando especificado e captura a saída. O script foi projetado para funcionar em ambientes com acesso SSH sem senha.

SSH para IPv6 (Script Powershell)

c. SSH IPv6 no Mac

O macOS, conhecido pelas suas robustas capacidades de rede, também oferece um suporte abrangente para SSH com IPv6.

  • Utilizar o Terminal para ligações SSH IPv6: O terminal do MacOS pode lidar com ligações IPv6 de forma nativa, permitindo sessões SSH sem problemas. A sintaxe é semelhante à de outros sistemas do tipo Unix: "ssh username@[Endereço_IPv6]"
  • Configurar SSH para IPv6:
    • O MacOS permite configurações SSH avançadas através do ficheiro ~/.ssh/config. É possível especificar endereços IPv6 neste ficheiro para facilitar a gestão da ligação. 
    • As definições avançadas de SSH, incluindo a autenticação de chaves e as especificações de portas, também podem ser definidas neste ficheiro de configuração para ligações Internet Protocol v6.
    • Definições de rede e de firewall: Para garantir ligações bem sucedidas através de IPv6, verifique se a rede do seu Mac está corretamente configurada para IPv6. Além disso, verifique as definições da firewall para garantir que o tráfego SSH sobre IPv6 não está bloqueado.

5. FAQ de resolução de problemas.

a. Porque é que não consigo ligar-me ao meu servidor através de SSH utilizando o seu endereço IPv6?

Se não conseguir estabelecer ligação utilizando um endereço IPv6, verifique se o endereço do servidor está corretamente configurado. Além disso, tanto o cliente como o servidor suportam IPv6. Além disso, certifique-se de que nenhuma firewall está a bloquear o tráfego SSH em IPv6. Além disso, certifique-se de que o servidor está a escutar no endereço IP (verifique com netstat -tuln | grep ssh).

b. Como é que resolvo o erro "Network is unreachable" quando utilizo SSH com IPv6?

Este erro indica normalmente um problema de encaminhamento. Garantir:

  • Tanto o cliente como o servidor têm endereços IPv6 válidos.
  • A sua rede está corretamente configurada para IPv6.
  • Não existe qualquer problema de conetividade IPv6 entre o cliente e o servidor.

c. Por que é que a minha sessão SSH atinge o tempo limite quando me ligo através de IPv6?

Os tempos limite do SSH podem ocorrer devido a problemas de rede ou a uma configuração incorrecta do SSH. Para resolver o problema, siga estes passos no cliente e no servidor SSH:

  • Verifique a conetividade IPv6 da sua rede.
  • Ajuste o ServerAliveInterval na configuração do seu cliente SSH.
  • Certifique-se de que a configuração SSH do servidor (/etc/ssh/sshd_config) não esteja definida para desconectar sessões inativas muito rapidamente.

d. Que protocolos de segurança e métodos de encriptação avançados são suportados pelo SSH?

O SSH suporta vários algoritmos de encriptação como AES, Blowfish e 3DES para uma transmissão segura de dados. Além disso, utiliza RSA, DSA e ECDSA para troca de chaves e autenticação. Para maior segurança, recomenda-se a utilização do algoritmo Ed25519 para gerar chaves SSH.

e. Qual é um método mais seguro e mais conveniente do que a autenticação por palavra-passe?

A utilização de chaves SSH para autenticação é mais segura e mais conveniente do que as palavras-passe. As chaves SSH proporcionam uma forma mais segura de iniciar sessão num servidor e ajudam a automatizar o processo de início de sessão sem sacrificar a segurança.

f. Como configurar um endereço IPv6 num servidor Ubuntu para acesso SSH?

No Ubuntu, edite o ficheiro de configuração netplan (normalmente em /etc/netplan/) para adicionar o seu endereço IPv6, sub-rede e gateway. Aplique as alterações com 'sudo netplan' apply, e certifique-se de que seu servidor escuta no endereço IPv6.

g. O que devo fazer se me deparar com um erro de "argumento inválido" ao utilizar o SSH com IPv6?

O erro "argumento inválido" ocorre normalmente se o formato do endereço IPv6 estiver incorreto ou mal introduzido. Certifique-se de que o endereço IPv6 está formatado corretamente. Por exemplo: ssh username@[2001:db8::1234]. Além disso, verifique se o endereço é válido e atribuído ao host ao qual você está tentando se conectar.

h. Como posso resolver o erro "no route to host" no SSH sobre IPv6?

O erro "no route to host" indica um problema de encaminhamento. Verifique a sua configuração de rede para garantir que a rota para o endereço IPv6 do servidor está corretamente definida. Confirme que tanto o cliente como o servidor têm endereços IPv6 válidos e acessíveis. Além disso, certifique-se de que quaisquer routers ou firewalls intermédios estão configurados para permitir o tráfego IPv6 para o destino.

i. O que significa o erro "port 22: invalid argument" no SSH sobre IPv6?

O erro "porta 22: argumento inválido" normalmente sugere um problema com o formato do comando SSH. Isto é particularmente relativo à forma como o endereço IPv6 é especificado. Certifique-se de que o endereço está corretamente formatado e de que não existem erros de sintaxe no seu comando SSH. Por exemplo, o formato correto é ssh username@[2001:db8::1234].

6. Palavras finais.

Este guia introduziu cuidadosamente os fundamentos das configurações de SSH e IPv6, desde os princípios básicos de instalação até aos aspectos complexos da configuração avançada. Seguindo estas práticas, será capaz não só de se ligar através de SSH aos seus servidores, mas também de criar uma infraestrutura de rede robusta e de elevado desempenho. 

Esperamos que este guia seja informativo e útil. E lembre-se que o céu é o limite. Por isso, temos de continuar a aprender!

Para expandir os seus conhecimentos sobre o endereçamento IPv6, consulte as seguintes publicações do blogue com informações valiosas e relevantes. 


Mergulhe no futuro das ligações SSH com IPv6 na RapidSeedbox.

Desfrute de segurança melhorada, alcance global e configuração perfeita para as suas necessidades de rede. 🚀

Segurança SSH melhorada com IPv6.
Conectividade global sem complicações.
Suporte especializado 24/7.
Alojamento flexível com LOA.
Preços claros e reembolso em 48 horas.

Pronto para atualizar?

Visite a Rapidseedbox hoje e obtenha um desconto especial de 20% no primeiro mês!

----

Sobre Diego Astúrias

Avatar para Diego Asturias

Diego Asturias é um jornalista tecnológico que traduz o jargão tecnológico complexo em conteúdos cativantes. Tem uma licenciatura em Internetworking Tech de Washington DC, EUA, e certificações tecnológicas da Cisco, McAfee e Wireshark. Tem experiência prática de trabalho na América Latina, Coreia do Sul e África Ocidental. Ele foi destaque na SiliconANGLE Media, Cloudbric, Pcwdld, Hackernoon, ITT Systems, SecurityGladiators, Rapidseedbox e muito mais.