Configurar o login sem senha para servidores via SSH

Configurar o login sem senha para servidores via SSH
Como administrador do sistema Linux, você estará configurando e ajustando muitos servidores Linux com frequência. Portanto, você tem que SSH em todos esses servidores, a fim de SSH nesses servidores, você também precisará das senhas de login para cada um dos servidores, o que é muito improvável que seja o mesmo. Então, as coisas ficarão difíceis à medida que o número de servidores que você tem para administrar cresce.

Felizmente, há uma solução melhor. Você pode dizer a todos os servidores que você administra para confiar no computador ou laptop que você está usando para conectar e configurá -los. Dessa forma, você pode fazer login nesses servidores sem senha ou com a mesma senha. Neste método, você só precisa saber a senha de login desses servidores apenas uma vez. Em seguida, você pode esquecer isso enquanto estiver usando o mesmo computador ou laptop para se conectar a esses servidores.

Neste artigo, vou mostrar como configurar o login sem senha nos servidores via SSH. Então vamos começar.

Topologia de rede:

Aqui, eu tenho 3 servidores na minha rede local Linuxhint-Server1, Linuxhint-Server2, Linuxhint-Server3. Eu como administrador do sistema Linux, estou usando um laptop Linuxhint-Client que também está na mesma rede. Então, eu quero configurar todos os servidores de uma maneira que eu possa acessar todos esses servidores do meu laptop Linuxhint-Client sem senha. Então, vamos ver como isso será configurado nas próximas seções.

Gerando chaves SSH no cliente:

A idéia principal aqui é que você gera uma chave SSH no seu computador ou laptop a partir do qual deseja acessar todos os servidores. Em seguida, envie a chave SSH para os servidores do seu computador ou laptop.

Para gerar uma chave SSH no computador ou laptop a partir do qual você deseja se conectar aos servidores, execute o seguinte comando:

$ ssh-keygen

Agora, pressione continuar.

Agora, você pode definir uma senha para sua chave SSH. É opcional. Se você configura uma senha para sua chave SSH ou não, depende de como você deseja configurar o acesso aos servidores. Se você não definir uma senha para a chave SSH aqui, não precisará de senha para SSH nos servidores. Se você definir uma senha aqui, precisará inserir a mesma senha toda vez que se conectar a qualquer um dos servidores. Então a escolha é sua. Não vou definir uma senha para a chave SSH neste artigo.

Se você deseja configurar uma senha, basta digitar a senha e pressionar . Caso contrário, deixe -o em branco e pressione .

Se você definiu uma senha mais cedo, basta digitar a mesma senha novamente e pressionar . Caso contrário, basta pressionar sem digitar nada.

A chave SSH deve ser gerada.

Por padrão, o ssh-keygen gera uma chave RSA de comprimento 2048 bits. Mas, se você quiser alterar o tipo de chave e o comprimento, pode usar as opções -t e -b de ssh-keygen do seguinte modo:

$ ssh -keygen -t key_type -b bit_length

Atualmente, o suportado Tipo de chave é RSA, DSA, Ecdsa, e ED25519 e a bit_length pode ser 2048, 4096 e assim por diante.

Carregando a chave SSH para os servidores:

Agora, você precisa fazer upload da chave SSH que você acabou de gerar no seu computador ou laptop para os servidores. Para isso, você deve ter o software SSH Server (OpenSsh-Server) instalado em cada um dos servidores e deve ser capaz de fazer login nos servidores via SSH.

Para fazer login para Linuxhint-Server1 via ssh, você precisa do endereço IP do Linuxhint-Server1 servidor. Para fazer isso, execute o seguinte comando no Linuxhint-Server1 servidor.

$ ip a

Como você pode ver, o endereço IP de Linuxhint-Server1 é 192.168.21.203.

Agora, do Linuxhint-Client, Carregue a chave SSH para o Linuxhint-Server1 do seguinte modo:

$ ssh-copy-id [email protected]

Agora, digite sim e pressione .

Agora, digite a senha de login do Linuxhint-Server1 servidor e pressione .

A chave SSH deve ser carregada para o servidor Linuxhint-Server1.

Da mesma maneira, envie a chave ssh para o Linuxhint-Server2 também.

$ ssh-copy-id [email protected]

Carregue a chave SSH para o Linuxhint-Server3 também.

$ ssh-copy-id [email protected]

Ssh em servidores sem senha:

Agora, você poderá acessar todos os servidores via SSH sem senha.

Vamos tentar acessar o servidor Linuxhint-Server1:

$ ssh [email protected]

Como você pode ver, isso não me levou a uma senha. Em vez disso, fui conectado diretamente ao console de Linuxhint-Server1.

Eu também posso fazer login no Linuxhint-Server2 servidor sem senha, como você pode ver na captura de tela abaixo.

$ ssh [email protected]

Como você pode ver, eu também posso ssh no Linuxhint-Server3 servidor também. Ótimo!

Então, é assim que você configura o login sem senha para servidores Linux via SSH. Obrigado por ler este artigo.