SSH: 06 - Gerando chaves públicas

Além das senhas, o SSH permite autenticação por chaves públicas, que oferece maior segurança, apesar de não ser inviolável.

Por padrão o OpenSSH permitirá o usuário fazer o login autenticando tanto com o par usuário / senha ou com o par usuário / chave pública. Usando o par usuário / chave pública descarta a necessidade de login com requisição da senha. No entanto, se o servidor ainda permitir a autenticação com a senha a segurança não será tão alta quanto se esse modo de autenticação estiver desabilitado.

Para desativar a autenticação com senha acesse o tutorial que ensina como desabilitá-la, em que são discutidos  as configurações necessárias para manter o SSH seguro o suficiente, avance clicando aqui. Se quiser configurar depois, é só seguir a sequência de tutoriais que irá será feito em tempo devido.

Para desabilitar a autenticação com senha é necessário realizar a configuração no servidor. Se o invasor não tiver a chave privada, estará impossibilitado de conectar ao servidor.

Para gerar o par de chaves é necessário usar o comando ssh-keygen, o que será demonstrado logo abaixo. Você poderá criar uma frase de segurança caso queira, se não considerar necessário execute o comando ssh-keygen e aperte ENTER, e é mais seguro criar a frase de segurança e ter o benefício da segurança adicional.

Para a autenticação com o par de chaves ser realizada serão criados dois arquivos no diretório home do usuário logo que forem criadas as chaves: id_rsa e id_rsa.pub. O primeiro arquivo é a chave privada, a segunda a chave pública.

De forma breve, a forma mais segura de autenticação é realizada com os seguintes passo: após realizar o login na sua máquina principal, executar pelo terminal o comando ssh-keygen criando uma frase de segurança.

Depois execute o comando ssh-copy-id para copiar a chave para o servidor remoto que você deseja se conectar. O comando é esse logo abaixo:

ssh-copy-id -i ~/.ssh/id_rsa.pub <remote host IP or name>

Caso ainda não saiba o nome do host, execute o comando abaixo:


$ hostname

A alteração é ensinada em um tutorial com as várias formas de configuração, avance clicando aqui. Senão configure depois acessando a seção de Administração LINUX. 

O comando usando o ssh-copy-id copiará a chave pública na pasta ~/.ssh da máquina de destino. Esse arquivo armazena todas as chaves conhecidas pelo dispositivo. Se você checar antes de executar o comando perceberá que esse arquivo só é criado após a execução.

No próximo tutorial será tratado como manter as conexões ativas, para avançar clique aqui.

Comentários

Postagens mais visitadas