Como Configurar e Usar SSH no Linux

Se você usa Linux há algum tempo, certamente já ouviu falar de uma ferramenta conhecida como SSH. O Secure Shell, comumente conhecido como SSH, é um protocolo de rede para estabelecer conexões seguras entre um cliente e um servidor remoto. Ele foi projetado para permitir que os usuários façam login de forma segura em diferentes tipos de computadores remotamente via rede. Aqui mostramos como configurar e copiar as chaves SSH para o seu servidor facilmente.
Leia também: Como Mostrar Todas as Conexões SSH Ativas no Linux
Instalando o SSH
Para começar, precisamos instalar o servidor SSH. Você pode encontrar e instalar o pacote openssh-server no Centro de Software ou no seu gerenciador de pacotes. Como alternativa, se você estiver em um servidor (ou apenas preferir usar o terminal), abra um terminal e digite o seguinte comando:
# Ubuntu/Debian
sudo apt install openssh-server
# Fedora/CentOS/REHL
sudo dnf install openssh-server
Leia também: Como Criar um Honeypot SSH para Capturar Hackers em Seu Servidor Linux
Habilitando o SSH no Linux
Uma vez que o servidor OpenSSH foi instalado em sua máquina, você precisará iniciar e habilitar a unidade systemd. Para fazer isso, você pode simplesmente digitar o seguinte comando no terminal:
sudo systemctl enable --now ssh
Bom saber: você pode conectar programas no Linux usando pipes SSH.
Gerando Chaves SSH
Uma vez que você tenha instalado o servidor openssh, pode começar a gerar pares de chaves SSH. Antes de prosseguir, verifique se você não tem um par de chaves existente, pois este processo substituirá o existente.
Para verificar se você tem um par de chaves existente, utilize o comando:
ls -la ~/.sshSe você tiver um par de chaves existente, o comando acima deve exibir os arquivos “id_rsa” e “id_rsa.pub”.

Uma vez que você verifique que não tem um par de chaves SSH existente, pode prosseguir para gerar um novo. Caso contrário, faça backup de suas chaves antigas para evitar perdê-las.
Para gerar uma nova chave, use o comando:
ssh-keygen -t rsa -b 4096O comando acima invoca a utilidade ssh-keygen para gerar interativamente um par de chaves SSH. Usando a opção -t, especificamos o tipo de chave a ser gerada. Nesse caso, geramos uma chave RSA.
Também usamos a opção -b para especificar o número de bits na chave. Se você usar uma chave RSA, o tamanho mínimo em bits é 1024. Se não especificado, irá gerar a chave com 3072 bits.

É bom usar o local padrão para armazenar as chaves SSH para evitar ter que digitar o caminho ao se conectar ao SSH usando as chaves.
Se você não quiser criptografar sua chave com uma frase de senha, pressione Enter para pular.
Copiar Chave para Servidor Remoto
Agora que geramos um novo par de chaves SSH, precisamos enviá-lo para a máquina remota que queremos gerenciar.
A maneira mais eficiente de fazer isso é usar o comando ssh-copy-id. Use o comando assim:
ssh-copy-id usuario_remoto@ip_remotoSe você estiver usando um arquivo de chave com um nome de arquivo separado, você pode usar o seguinte comando para especificar o caminho para o arquivo de chave.
ssh-copy-id -i ~/.ssh/id_rsa usuario_remoto@ip_remotoSe você estiver se conectando à máquina remota pela primeira vez, precisará aceitar a impressão digital.
Em seguida, insira a senha SSH para o usuário remoto.
Uma vez autenticado, o comando ssh-copy-id irá anexar o conteúdo da sua chave id_rsa.pub ao arquivo “~/.ssh/authorized_keys” na máquina remota e fechar a conexão.

Fazer Login na Máquina Remota
Uma vez que você tenha completado com sucesso todos os passos acima, agora pode fazer login no servidor remoto sem a necessidade de uma senha.
Você pode testar isso usando o comando:
ssh usuario_remoto@ip_remotoA menos que você tenha habilitado uma frase de senha para sua chave, você será conectado automaticamente.
Perguntas Frequentes
1. O SSH é seguro?
SSH é uma poderosa ferramenta de segurança que permite que usuários autenticados façam login em um sistema remoto. No entanto, ele é tão seguro quanto permitir o seu arquivo de configuração. Um servidor SSH não configurado/configurado incorretamente pode ser vulnerável a hackers e acesso de terceiros também. Certifique-se de proteger a configuração do SSH logo após a instalação.
2. Onde estão as chaves autorizadas do SSH?
O arquivo authorized_keys do SSH contém o arquivo de chave pública de cada usuário e especifica quais usuários estão autorizados a fazer login em um servidor. No Linux, o arquivo authorized_keys é geralmente encontrado na pasta “.ssh” no diretório Home do usuário.
3. Como posso corrigir o problema de permissão negada do ssh-copy-id?
Isso só acontece quando você já tem uma chave pública configurada em seu servidor remoto e desativou a autenticação por senha. Para corrigir esse problema, primeiro faça login no seu servidor, ative a autenticação por senha no arquivo “/etc/ssh/sshd_config”, e em seguida execute o comando ssh-copy-id novamente.
Depois de copiar o novo arquivo de chave, lembre-se de desabilitar a opção de autenticação por senha novamente.