O SSH é um protocolo de código aberto e Secure Shell usado para conectar-se a um servidor Linux remoto e gerenciá-lo através da linha de comando. Ele auxilia administradores de sistemas e redes a gerenciar servidores Linux remotamente. Também pode ser usado para transferir arquivos entre múltiplos servidores Linux. A conexão com o servidor SSH remoto pode ser feita de duas maneiras: com autenticação por senha ou com autenticação por chave. A autenticação por chave é mais segura do que a senha, pois somente usuários com uma chave válida podem acessar o Linux.
Neste post, mostraremos como instalar o SSH e configurar a autenticação baseada em chave SSH no Arch Linux.
Etapa 1 – Configurar o repositório
Por padrão, o repositório padrão está desatualizado no Arch Linux, portanto, você precisará modificar a lista de espelhos padrão, caso ainda não o tenha feito. Você pode fazer isso editando o arquivo de configuração da lista de espelhos:
nano /etc/pacman.d/mirrorlist
Remova todas as linhas e adicione as seguintes linhas:
Pontuação: 0,7, Estados Unidos Servidor = http://mirror.us.leaseweb.net/archlinux/$repo/os/$arch Pontuação: 0,8, Estados Unidos Servidor = http://lug.mtu.edu/archlinux/$repo/os/$arch Servidor = http://mirror.nl.leaseweb.net/archlinux/$repo/os/$arch Pontuação: 0,9, Reino Unido Servidor = http://mirror.bytemark.co.uk/archlinux/$repo/os/$arch Pontuação: 1,5, Reino Unido Servidor = http://mirrors.manchester.m247.com/arch-linux/$repo/os/$arch Servidor = http://archlinux.dcc.fc.up.pt/$repo/os/$arch Pontuação: 6,6, Estados Unidos Servidor = http://mirror.cs.pitt.edu/archlinux/$repo/os/$arch Pontuação: 6,7, Estados Unidos Servidor = http://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch Pontuação: 6,8, Estados Unidos Servidor = http://ftp.osuosl.org/pub/archlinux/$repo/os/$arch Pontuação: 7,1, Índia Servidor = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch Pontuação: 10,1, Estados Unidos Servidor = http://mirrors.xmission.com/archlinux/$repo/os/$arch
Salve e feche o arquivo e, em seguida, atualize todos os índices de pacotes com o seguinte comando:
Pacman - Syu
Etapa 2 – Gerar uma chave SSH
Primeiro, você precisará gerar um par de chaves SSH no sistema Linux em que está trabalhando.
Você pode gerá-lo usando o seguinte comando:
ssh-keygen -t rsa
Você deverá especificar o local onde a chave será armazenada, conforme mostrado abaixo:
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Basta pressionar Enter e aceitar o caminho padrão. Você será solicitado a definir uma senha, conforme mostrado abaixo:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Basta pressionar Enter sem fornecer nenhuma senha. Você deverá ver a seguinte saída:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
ec:50:43:d9:39:64:f8:19:63:18:ab:1c:e4:ea:f5:e7 user@newpc
The key's randomart image is:
+--[ RSA 2048]----+
| . oBo. |
| o .+oB |
| o +o = |
| o = .o |
| . = S |
| . . + |
| . o . |
| o |
| E |
+-----------------+
Agora, verifique sua chave SSH usando o seguinte comando:
ls -la ~/.ssh/id_*.pub
Você deverá ver a seguinte saída:
-rw-r--r-- 1 user user 392 Sep 8 14:34 /home/user/.ssh/id_rsa.pub
Etapa 3 – Copiar a chave pública SSH para o servidor remoto
Agora, você precisará copiar sua chave pública para o servidor Linux remoto. Você pode fazer isso usando o comando `ssh-copy-id`:
ssh-copy-id root@ip-do-servidor-remoto
Você deverá fornecer a senha de root de um servidor remoto para copiar uma chave pública:
root@remote-server-ip's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@remote-server-ip'"
and check to make sure that only the key(s) you wanted were added.
Passo 4 – Conectar ao servidor remoto sem senha
Neste ponto, a chave SSH é gerada e copiada para o servidor remoto. Agora você pode se conectar ao servidor remoto sem fornecer uma senha:
ssh root@ip-do-servidor-remoto
Após a conexão, você deverá ver a seguinte saída:
Welcome to archlinux (GNU/Linux 5.4.0-29-generic x86_64)
* Documentation: https://help.archlinux.com
* Management: https://landscape.canonical.com
* Support: https://archlinux.com/advantage
Last login: Wed Sep 8 07:50:27 2022 from 10.10.20.203
root@archlinux:~#
Etapa 5 – Remover a autenticação baseada em senha
Com isso, a autenticação baseada em chave SSH foi configurada com sucesso. Agora, recomenda-se desativar o uso da autenticação por senha para que todos usem apenas chaves para acessar o servidor.
No servidor Linux remoto, edite o arquivo de configuração principal do SSH:
nano /etc/ssh/sshd_config
Remova o comentário e altere a seguinte linha:
PasswordAuthentication no
Salve e feche o arquivo e, em seguida, reinicie o serviço SSH para aplicar as alterações:
systemctl restart ssh
Conclusão
Na publicação acima, explicamos como configurar a autenticação baseada em chave SSH no Arch Linux. Agora você pode implementar a autenticação baseada em chave SSH para cada servidor que deseja gerenciar remotamente.

