Se você gerencia um servidor Linux, sabe como pode ser entediante inserir sua senha toda vez que fizer login via SSH ou copiar arquivos usando scp. Este tutorial apresenta o uso da chave SSH para obter login SSH sem senha e não há necessidade de inserir uma senha ao usar o scp para copiar arquivos. Além de facilitar o login SSH e a cópia de arquivos SCP, o login SSH sem senha também adiciona outra linha de segurança ao servidor Linux.

Etapas de configuração de login sem senha SSH

  1. Primeiro, geramos um par de chaves SSH em nosso sistema Linux: chave SSH e chave pública SSH. A chave é mantida em seu próprio sistema Linux.
  2. Em seguida, a chave pública é carregada no servidor Linux. Depois disso podemos fazer login via SSH sem senha. Uma chave SSH é como sua prova de identidade.

1 Gere chaves SSH e chaves públicas em seu próprio sistema Linux

Abra um terminal e use ssh-keygen abaixo para gerar a chave RSA e a chave pública. -t indica o tipo, o que significa gerar uma chave de criptografia RSA.

ssh-keygen -t rsa

RSA também é o tipo de criptografia padrão. Então você também pode simplesmente inserir ssh-keygen. O comprimento RSA padrão é 2.048 bits. Se você estiver muito preocupado com a segurança, poderá especificar um comprimento de 4.096 bits.

ssh-keygen -b 4096 -t rsa

Durante o processo de geração da chave SSH, você será solicitado a especificar um arquivo para salvar a chave. Basta pressionar Enter para usar o arquivo padrão. Então você precisa inserir uma senha para criptografar sua chave SSH. A senha deve ter pelo menos 20 caracteres. A chave SSH será salva no arquivo .ssh/id_rsa no diretório inicial. A chave pública SSH é salva no arquivo .ssh/id_rsa.pub.

Generating public/private rsa key pair.
Enter file in which to save the key (/home/matrix/.ssh/id_rsa):  按Enter键
Enter passphrase (empty for no passphrase):   输入一个密码
Enter same passphrase again:   再次输入密码
Your identification has been saved in /home/matrix/.ssh/id_rsa.
Your public key has been saved in /home/matrix/.ssh/id_rsa.pub.
The key fingerprint is:
e1:dc:ab:ae:b6:19:b0:19:74:d5:fe:57:3f:32:b4:d0 matrix@vivid
The key's randomart image is:
+---[RSA 4096]----+
| .. |
| . . |
| . . .. . |
| . . o o.. E .|
| o S ..o ...|
| = ..+...|
| o . . .o .|
| .o . |
| .++o |
+-----------------+

Se você observar o arquivo .ssh/id_rsa, verá que ele está criptografado. Ou seja, ele está criptografado com a senha que você digitou.

less .ssh/id_rsa

 

2Carregue a chave pública SSH para o servidor Linux

Isso pode ser feito usando o comando ssh-copy-id.

ssh-copy-id username@remote-server

 

Após inserir a senha do usuário remoto, a chave pública SSH será carregada automaticamente. A chave pública SSH é armazenada no arquivo .ssh/authorized_keys no servidor Linux remoto.

Após a conclusão do upload, não será necessário inserir a senha novamente para login SSH. No entanto, ao usar a chave SSH para fazer login pela primeira vez, você precisará inserir a senha de criptografia da chave SSH uma vez. (Você só precisa inseri-lo uma vez e fará login automaticamente no futuro. Você não precisa mais inserir a senha da chave.)

Não há necessidade de inserir uma senha ao usar o comando scp para transferir arquivos.

Conhecimento da chave SSH

O sistema Linux possui um programa de gerenciamento de chaveiro. O chaveiro é protegido pela senha de login do usuário. Ao efetuar login no sistema Linux, a senha do chaveiro será desbloqueada automaticamente, permitindo que você acesse o chaveiro. As senhas para chaves SSH também podem ser armazenadas no chaveiro. Portanto, ao usar uma chave SSH para fazer login em um servidor Linux remoto pela primeira vez, você precisará inserir a senha da chave SSH uma vez. No futuro, você não precisará mais inserir uma senha ao fazer login usando uma chave SSH. O programa de chaveiro para Ubuntu é o Seahorse.

Uma chave SSH é como sua prova de identidade. O servidor Linux remoto usa a chave pública SSH gerada para criptografar uma mensagem e somente sua chave SSH pode descriptografar a mensagem. Portanto, se outras pessoas não tiverem sua chave SSH, não conseguirão descriptografar a mensagem criptografada e, portanto, não conseguirão fazer login em seu servidor Linux.

Configurar o login SSH sem senha é simples assim.

Deixe uma resposta