Pelas cinco diretrizes de segurança da Agência Nacional de Segurança dos EUA (que incluo todas elas por motivo de aprendizado):
-
Criptografar dados transmitidos sempre que possível .
-
Minimize o software para minimizar a vulnerabilidade .
-
Execute serviços de rede diferentes em sistemas separados .
-
Configure ferramentas de segurança para melhorar a robustez do sistema .
-
Use o princípio do menor privilégio .
O negrito se aplica ao post original.
Quando você cria uma chave SSH, um par é gerado
- Chave pública, que termina com .pub. a chave pública reside no servidor.
- Chave privada, que é um segredo e a decisão de criptografar a chave privada depende de quão grande o dano poderia ser se vazar, perder ou for roubado.
Não importa quem gerou a chave ou onde reside a chave privada. Contanto que você acesse o privateKey e o publicKey correspondente esteja incluído no arquivo authorized_keys no servidor. Como root, tente e autentique por um usuário privado privateKey:
~# ssh root@server -o PreferredAuthentications=publickey -i /home/user/.ssh/server_key
Também é bom incluir, você deve sempre usar ssh-keys e desativar a autenticação de senha do arquivo de configuração /etc/ssh/sshd_config
.
~$ sudo cat /etc/ssh/sshd_config | grep PasswordAuthentication
#PasswordAuthentication yes
PasswordAuthentication no
e
$ sudo cat /etc/ssh/sshd_config | grep Pub
PubkeyAuthentication yes