Automatize o login SSH sem senha

Automatize o login SSH sem senha
Se você deseja executar tarefas em uma máquina remota usando SSH, precisará ativar os logins SSH automáticos para eliminar a necessidade de inserir uma senha em todas as instâncias. Isso pode ser incrivelmente útil se você estiver chamando SSH de um comando de shell.

Neste tutorial, você aprenderá como implementar logins ssh sem senha em três etapas simples.

O que é SSH?

Secure Shell, comumente conhecido como SSH, é um protocolo de rede usado para conexões seguras entre um cliente e um servidor remoto. É um serviço criptográfico que permite aos usuários fazer login e gerenciar máquinas remotamente. Por padrão, ele usa um nome de usuário e autenticação de senha.

Como ativar o login sem senha SSH

A configuração de um login SSH automatizado sem senha no Linux é muito simples. Tudo o que você precisa é gerar uma chave pública e copiá -la para o host remoto.

As etapas fornecidas abaixo descrevem o processo de criação e copia a chave pública para o host remoto.

Passo 1. Gerando uma nova chave SSH

Para gerar um novo par de chaves ssh, use o comando fornecido abaixo:

ssh-keygen

Isso gerará interativamente uma chave pública e privada que você pode usar para autenticar SSH.

A saída será semelhante à mostrada abaixo:

[CENTOS@CENTOS8 ~] $ ssh-keygen
Gerando par de chaves RSA pública/privada.
Digite o arquivo para salvar a chave (/home/centros/.ssh/id_rsa):
Digite a senha (vazia sem senha):
Digite a mesma senha novamente:
Sua identificação foi salva em id_rsa.
Sua chave pública foi salva em id_rsa.bar.
A principal impressão digital é:
SHA256: GKJD1BEFH00O4TP2XD7VPBIBJABC7CJZSGXJDLXGCSS [email protected]
A imagem aleatória da chave é:
+---[RSA 3072]----+
| o+b.+o+o .|
| . o.= ob o.O… O |
| +o.ob = x + o |
| . o =+o* o . + |
|… +E s + . |
|… |
| |
| |
| |
+----[SHA256]-----+
[CENTOS@CENTOS8 ~] $

OBSERVAÇÃO: Você pode criar um par de teclas SSH sem uma senha pressionando Enter durante o processo de criação.

Se você estiver procurando por segurança máxima, certifique -se de definir uma senha. Para logins automatizados, basta pular a senha.

Passo 2. Verifique a chave SSH

Para verificar se o par de chaves ssh gerou com sucesso, você pode listar os arquivos no ~//.diretório ssh como mostrado:

$ ls -la ~//.ssh

Isso listará a chave privada e pública como mostrado:

DRWX------. 2 CENTOS CENTOS 38 MAIO 17 01:14 .
DRWX------. 17 CENTOS CENTOS 4096 17 de maio 01: 14…
-rw-------. 1 CENTOS CENTOS 2635 17 de maio 01:14 ID_RSA
-rw-r-r--. 1 CENTOS CENTOS 588 17 de maio 01:14 ID_RSA.bar

etapa 3. Copie a chave pública para o host remoto

Com o par de teclas SSH em mãos, precisamos copiá -lo para o host remoto. Assim, efetuando login sem senha.

A maneira mais simples de copiar sua chave pública para o host remoto é usar o comando ssh-copy-id como:

SSH-COPY-ID NAME@REMOTE_IP_ADDRESS

Isso autenticará o nome de usuário definido e anexará a chave pública ao arquivo Autorizado_keys no host remoto.

Depois que a chave for enviada, você pode fazer login no host remoto usando o comando:

Nome de usuário ssh@remote_host

Isso efetuará login automaticamente sem exigir uma senha.

OBSERVAÇÃO: Certifique -se de ter seu par de chaves privadas para fazer login com sucesso.

Conclusão

Este tutorial mostrou como configurar um login sem senha SSH usando pares de chaves. Isso permite automatizar tarefas e gerenciar vários hosts remotos.