Pesquisa de site

Como configurar o login SSH sem senha no Linux


SSH (Secure SHELL) é um protocolo de rede confiável e de código aberto usado para fazer login em servidores remotos para a execução de comandos e programas.

Também é usado para transferir arquivos de um computador para outro pela rede usando um comando de cópia segura (SCP) e um comando rsync.

Neste artigo, mostraremos como configurar login sem senha em distribuições Linux baseadas em RHEL, como CentOS, Fedora, Rocky Linux > & AlmaLinux e distribuições baseadas em Debian, como Ubuntu e Mint usando chaves ssh para conectar-se a < Strong>Linux sem inserir uma senha.

Usar login sem senha com chaves SSH aumentará a confiança entre dois servidores Linux para facilitar a sincronização ou transferência de arquivos.

Meu ambiente de configuração
SSH Client : 192.168.0.12 ( Fedora 36 )
SSH Remote Host : 192.168.0.11 ( CentOS 8 )

Se você estiver lidando com vários servidores Linux remotos, então o login SSH sem senha é uma das melhores maneiras de automatizar tarefas como backups automáticos com scripts, sincronização de arquivos usando o Comando SCP e execução remota de comando.

Neste exemplo, configuraremos o login automático SSH sem senha do servidor 192.168.0.12 como usuário tecmint para 192.168.0.11 com a usuária sheena.

Etapa 1: Criar chaves SSH-Keygen de autenticação em – (192.168.0.12)

Primeiro faça login no servidor 192.168.0.12 com o usuário tecmint e gere um par de chaves públicas usando o seguinte comando.

ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/tecmint/.ssh/id_rsa): [Press enter key]
Created directory '/home/tecmint/.ssh'.
Enter passphrase (empty for no passphrase): [Press enter key]
Enter same passphrase again: [Press enter key]
Your identification has been saved in /home/tecmint/.ssh/id_rsa.
Your public key has been saved in /home/tecmint/.ssh/id_rsa.pub.
The key fingerprint is:
5f:ad:40:00:8a:d1:9b:99:b3:b0:f8:08:99:c3:ed:d3 [email 
The key's randomart image is:
+--[ RSA 2048]----+
|        ..oooE.++|
|         o. o.o  |
|          ..   . |
|         o  . . o|
|        S .  . + |
|       . .    . o|
|      . o o    ..|
|       + +       |
|        +.       |
+-----------------+

Etapa 2: fazer upload da chave SSH para – 192.168.0.11

Use SSH do servidor 192.168.0.12 e carregue uma chave pública recém-gerada (id_rsa.pub) no servidor 192.168.0.11 em sheena no diretório .ssh como um nome de arquivo authorized_keys.

ssh-copy-id [email 

Certifique-se de que as permissões corretas estejam definidas no diretório ~/.ssh e no arquivo ~/.ssh/authorized_keys no servidor remoto.

ssh [email  "chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"

Etapa 3: desativar a autenticação por senha (opcional)

Para aumentar a segurança, você pode desabilitar a autenticação por senha no servidor remoto e permitir apenas a autenticação por chave SSH. Para fazer isso, abra o arquivo de configuração do servidor SSH no servidor remoto:

sudo nano /etc/ssh/sshd_config
OR
sudo vi /etc/ssh/sshd_config

Encontre a linha que contém PasswordAuthentication e defina-a como no.

PasswordAuthentication no

Salve o arquivo e reinicie o serviço SSH.

sudo systemctl restart sshd

Etapa 4: teste o login SSH sem senha de 192.168.0.12

A partir de agora você pode fazer login em 192.168.0.11 como usuário sheena do servidor 192.168.0.12 como Usuário tecmint sem senha.

ssh [email 

Neste artigo, você aprendeu como configurar um login SSH sem senha usando uma chave ssh. Espero que o processo tenha sido simples. Se você tiver alguma dúvida, poste-a na seção de comentários abaixo.