Dica de como configurar login SSH sem senha

SSH sem SenhaEm 2020, aprenda a configurar login SSH sem senha para vários servidores, de maneira simples, rápida e mais importante, de maneira altamente segura.
A autenticação baseada em chave SSH (também conhecida como autenticação de chave pública) permite a autenticação sem senha e é uma solução mais segura e muito melhor do que a autenticação por senha. Uma grande vantagem do login SSH sem senha , sem falar na segurança, é que ele permite a automação de vários tipos de processos entre servidores.

Crie uma nova chave SSH no Linux

O login sem senha necessidade primeiramente, a necessidade de gerar o par de chaves SSH (a chave privada / identidade que um cliente SSH usa para se autenticar ao fazer login em um servidor SSH remoto e a chave pública armazenada como uma chave autorizada em um sistema remoto executando um servidor SSH) usando o ssh- comando keygen da seguinte forma:

ssh-keygen
ssh-keygen
Agora iremos alterar a permissão da chave privada

chmod 0600 /home/afrare/.ssh/id_rsa.pub

Criar um script de shell para vários logins remotos

Em seguida, crie um script de shell que ajudará a copiar uma chave pública para vários hosts Linux remotos.

vim /data/ssh-copy.sh
Copie e cole o seguinte código no arquivo (substitua as seguintes variáveis) de acordo USER_NAME- o nome de usuário ao qual se conectar, HOST_FILE- um arquivo que contém a lista de nomes de host ou endereços IP, e ERROR_FILE- um arquivo para armazenar quaisquer erros de comando ssh.

#!/bin/bashUSER_NAME=”afrare”HOST_FILE=”/data/hosts”ERROR_FILE=”/tmp/ssh-copy_error.txt”PUBLIC_KEY_FILE=”$1″if [ ! -f $PUBLIC_KEY_FILE ]; thenecho “Arquivo ‘$PUBLIC_KEY_FILE’ nao encontrado!”exit 1fiif [ ! -f $HOST_FILE ]; thenecho “Arquivo ‘$HOST_FILE’ nao encontrado!”exit 2fifor IP in `cat $HOST_FILE`; dossh-copy-id -i $PUBLIC_KEY_FILE $USER_NAME@$IP 2>$ERROR_FILERESULT=$?if [ $RESULT -eq 0 ]; thenecho “”echo “Chave publica copiada para o IP -> $IP”echo “”elseecho “$(cat $ERROR_FILE)”echoexit 3fiecho “”done
Salve o arquivo e feche-o.
Em seguida, torne o script executável com o comando chmod, conforme mostrado.

chmod +x ssh-copy.sh

Vamos criar o arquivo /root/hosts

[root@srv030 afrare]# echo 192.168.2.128 > /data/hosts[root@srv030 afrare]# chmod 664 /data/hosts[root@srv030 afrare]# cat /data/hosts192.168.2.128
Agora execute o ssh-copy.sh script e especifique seu arquivo de chave pública como o primeiro argumento, conforme mostrado na captura de tela:

./ssh-copy.sh /home/afrare/.ssh/id_rsa.pub.pub
ssh-pub-copia

Execute o script de cópia SSH

Em seguida, use ssh-agent para gerenciar suas chaves, que mantém sua chave privada descriptografada na memória e a usa para autenticar logins. Depois de iniciar o ssh-agent, adicione sua chave privada a ele da seguinte maneira:

eval “$(ssh-agent -s)”ssh-add ~ /.ssh/id_rsa.pub

Login sem senha no servidor Linux remoto

Agora você pode fazer login em qualquer um de seus hosts remotos sem fornecer uma senha para autenticação de usuário SSH. Dessa forma, você pode automatizar os processos entre servidores.

ssh afrare@192.168.2.128

Login sem senha SSH

Isso é tudo que tínhamos para você! Se você tiver alguma contribuição a fazer especialmente para melhorar o script de shell,
Abaixo disponibilizamos alguns artigos sobre o assunto.
22 dicas utilizando o SSH
Como acessar aplicação gráfica com o SSH
Dicas de como usar o comando RSync
 

FONTE: Blog SempreUpdate
(Acesse o website do autor da publicação para mais detalhes)