Compartilhar em facebook
Compartilhar em linkedin
Compartilhar em twitter
Compartilhar em pinterest
Compartilhar em google

Conteúdo

As chaves SSH ajudam a adicionar uma camada de segurança ao seu site. Normalmente, uma conexão SSH (Secure Shell) é entre um cliente e um servidor. Esta conexão é autenticada por uma senha. Não quer dizer que as senhas não sejam mais seguras hoje em dia. É fácil aplicar força bruta em um servidor SSH tentando diferentes combinações de senhas. Quanto tempo você acha que um hacker levaria para tentar uma senha de 8 dígitos? Em um supercomputador seria questão de minutos, em uma máquina normal usando sua GPU, em questão de dias. Isso significa que as senhas são uma vulnerabilidade de segurança. Mas não se preocupe, existe uma maneira de evitar o uso de senhas. Chaves SSH

O que é uma chave SSH?

Uma chave SSH é uma chave criptografada que consiste em uma CHAVE PÚBLICA e uma CHAVE PRIVADA. Esse método funciona por meio da criptografia RSA, onde a chave pública está disponível para todos os públicos para criptografar os dados, mas apenas a chave privada pode descriptografar esses dados. Pelo menos por enquanto. Você poderia tecnicamente decifrar uma chave privada, mas demoraria alguns anos, um pouco mais seguro do que uma senha. Normalmente vemos esse tipo de criptografia entre nosso navegador e a web. Você tem acesso à chave pública do servidor, que por sua vez criptografa seus dados. Mas você não pode decifrá-lo. Isso é chamado de criptografia unilateral.

Criação de uma chave SSH

Primeiro você precisa saber se tem alguma chave gerada atualmente. Para isso basta executar o seguinte comando:

ls -l ~ / .ssh / id _ *. pub

Isso irá dizer se há alguma chave gerada atualmente, se o resultado retornar como: Nenhum dado / arquivo encontrado então, você pode usar a chave já gerada ou criar a sua própria.

Agora vamos gerar a chave com o seguinte código:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Certifique-se de substituir seu endereço de e-mail. Agora pressione Enter, você será solicitado a criar uma senha longa. Isso adiciona uma camada extra de segurança, embora seja opcional. Você verá a seguinte saída:

Digite a senha longa (vazio para nenhuma senha):

Sua saída será semelhante a esta

saída de linha de comando

Agora você pode correr

ls ~ / .ssh / id_ *

A saída será

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

Observação: até agora, tudo foi gerado em sua máquina, não no servidor. Isso é importante porque o comando a seguir vinculará seu usuário à chave SSH.

Chave de ligação com o usuário

ssh-copy-id remote_username @ server_ip_address

Você verá a seguinte saída

remote_username @ server_ip_address's password:

Uma vez autenticado, o conteúdo de ~ / .ssh / id_rsa.pub será copiado para ~ / .ssh / authorized_keys. Você também pode simplesmente executar os seguintes comandos se não for capaz de executar os comandos mencionados antes.

No servidor, execute este comando:

cat ~ / .ssh / id_rsa.pub | ssh remote_username @ server_ip_address "mkdir -p ~ / .ssh && chmod 700 ~ / .ssh && cat >> ~ / .ssh / authorized_keys && chmod 600 ~ / .ssh / authorized_keys"

Desativando login SSH com senha

ssh sudo_user @ server_ip_address sudo nano / etc / ssh / sshd_config

Encontre as seguintes linhas e altere-as da seguinte maneira:

PasswordAuthentication não ChallengeResponseAuthentication não UsePAM não

Finalmente corra

sudo systemctl restart ssh

Você está pronto para ir agora.