Versão avaliada: Debian 11 + SSH
Instalar pacote no servidor
# apt install ssh
Gerar a chave em seu computador
$ ssh-keygen -t rsa <- Ira gerar um novo arquivo em ~/.ssh do user logado
Generating public/private rsa key pair.
Enter file in which to save the key (/home/NomeUser/.ssh/id_rsa): <NOME_SERVER ou IP_SERVER>
Enter passphrase (empty for no passphrase): <- Se inserir sera solicitado quando tentar logar
Enter same passphrase again:
Your identification has been saved in <NOME_SERVER ou IP_SERVER>
Your public key has been saved in <NOME_SERVER.pub ou IP_SERVER.pub>
The key fingerprint is: SHA256:gR+lLAX1Bg45MAnltwFpvibODvy4NCKY8QtbK0nyBtc NomeUser@nomepc
The key's randomart image is:
+---[RSA 3072]----+
| .o=+o++ . |
| .+o0o* = |
| o. =.* o |
| .. = + |
|. . .. Ss |
|==o E |
|X@oo |
|*=Oo |
|.*=.... |
+----[SHA256]-----+
Para poder usar a chave encriptada no acesso ao servidor temos duas forma de distribuir o arquivo com a chave, a manual e enviando ao servidor de destino.
No servidor de origem abra o arquivo e copie a chave:
# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EA.....NYhq7l5sDPdcC/wCJe/6xHzk= root@home10
Acesse o servidor de destino e crie o arquivo authorized_keys e cole a chave copiada anteriormente:
# mkdir /root/.ssh
# vi /root/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EA.....NYhq7l5sDPdcC/wCJe/6xHzk= root@home10
Ajuste a permissão do arquivo:
# chmod 400 /root/.ssh/authorized_keys
Para este caso o usuário suporte deve estar criado nos servidores de origem e destino como também o serviço SSH.
No servidor de origem, envie a chave id_rsa.pub gerada para o servidor de destino:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub suporte@<NOME_SERVER ou IP_SERVER>
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
suporte@<NOME_SERVER ou IP_SERVER>'s password: Insira a senha do usuário suporte
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'suporte@<NOME_SERVER ou IP_SERVER>'"
and check to make sure that only the key(s) you wanted were added.
Nota: A chave é adicionada no arquivo /home/suporte/.ssh/authorized_keys do servidor
Realize teste de acesso
$ ssh suporte@<NOME_SERVER ou IP_SERVER>
Ou
$ ssh <NOME_SERVER ou IP_SERVER>
Desativar autenticação por senha de usuário, para isso no servidor ajuste o parâmetro de configuração:
# vi /etc/ssh/sshd_config
.....
PasswordAuthentication no
.....
# systemctl restart sshd.service
A partir da versão 7.9 do ssh existem mudanças no uso do serviço SSH para acessar o root com as permissões no Debian.
Sem alterar as configurações do SSH, primeiramente acessamos o usuário com permissões mais baixas e depois acessamos como root, e para isso precisamos acessar com um parâmetro diferente do antigo su.
$ ssh user@<IP_COMP_REMOTO>
$ su
# su - root
# <- Prompt root
Ou
$ ssh user@<IP_COMP_REMOTO>
$ su - <- Pode usar "su -" sem o complemento
# <- Prompt root
Link: 1 /
install putty-tools