Como configurar a autenticação baseada em chave SSH no Arch Linux

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. 

0 0 votos
Classificação do artigo
Inscrever-se
Notificar de
guest
0 Comentários
mais antigos
mais recentes Mais votado
Rolar para cima
0
Adoraria saber sua opinião, comente.x