conectar ssh sem senha chave privada

Conectar SSH sem senha usando chave privada

Conectar SSH sem senha usando chave privada, saiba como configurar e conectar a um servidor linux sem usar senha, apenas com uma chave privada.

Esse tutorial vai deixar o acesso SSH a um servidor bem mais seguro, ao usar keys para acesso SSH, assim como os grandes serviços como AWS obriga.

Inicialmente trocar a senha por uma chave pode parecer complicado, mas esse tutorial usando o Bitvise vai deixar tudo mais simples.

Baixe o software Bitvise, recomendo usar ele como cliente SSH no windows, ele já cria uma conexão SFTP para troca de arquivos com o servidor.

Criar chave SSH pública e privada

Abra o Bitvise e clique em “Client key manager” para criar uma nova chave que vai ser utilizada no lugar da senha SSH.

adicionar chave bitvise

Na janela aberta, clique em Generate New para gerar uma nova chave SSH.

gerar chave bitvise

Em location, se selecionar global, ela vai ser acessível a todas contas do Bitvise, se selecionar Profile, apenas a conta atual vai utilizar.

Deixe o algorítimo em RSA e escolha o tamanho da chave, nesse caso selecionei 4096, recomendo utilizar também.

Pode utilizar uma senha para utilizar a chave, ou pode deixar em branco para não pedir nenhuma senha, então clique em Generate.

generate key bitvise

Agora que a chave foi gerada, é preciso enviar a chace pública para o servidor que deseja se conectar.

Exporte com o formato OpenSSH, escolha o nome do arquivo e ele vai ser salvo com a extensão arquivo.pub

export public key bitvise

Enviar chave pública para servidor

Agora vai ser preciso logar no servidor para colocar a chave pública no local correto, use o Bitvise ainda com a senha SSH.

Coloque a chave pública gerada com o nome escolhido, ex: key.pub dentro da pasta ~/.ssh e renomeie o arquivo para authorized_keys sem extensão.

Se não existir a pasta ~/.ssh utilize o comando mkdir ~/.ssh para criar essa pasta e colocar o key.pub dentro dela.

Utilize o comando mv key.pub authorized_keys ou utilize o SFTP para entrar na pasta e renomear o arquivo.

mkdir ~/.ssh
cd ~/.ssh
mv key.pub authorized_keys
authorized keys ssh

Com a chave na pasta correta, reinicie o serviço do SSH, no Ubuntu use o comando /etc/init.d/ssh restart ou /etc/init.d/ssh reload.

/etc/init.d/ssh restart

Conectar com SSH client e chave privada

Na tela de login do Bitvise, coloque o host, porta e usuário, no método selecione publickey e selecione a chave criada Profile 1.

conectar cliente ssh chave privada

Agora para se conectar basta clicar em Login e já vai ser aberto o terminal SSH sem solicitar nenhuma senha.

Não permitir logins com senha

ATENÇÃO – MUITO CUIDADO

Esse procedimento se feito de forma incorreta, pode impedir que o servidor seja acessado, portanto, faço com muito cuidado.

Agora que está funcionando o login utilizando uma chave SSH, é possível alterar o servidor SSH para impedir logins com senha.

Edite o arquivo de configuração do servidor SSH com o comando nano /etc/ssh/sshd_config ou qualquer outro editor como vi/vim.

nano /etc/ssh/sshd_config
vi /etc/ssh/sshd_config
vim /etc/ssh/sshd_config

Para impedir que usuários root faça login utilizando senhas, adicione ou altere a seguinte linha nas configurações: PermitRootLogin without-password.

PermitRootLogin without-password

Se desejar impedir qualquer usuário de fazer login com senhas, adicione ou altere a seguinte linha: PasswordAuthentication no.

PasswordAuthentication no

Para que as alterações tenham efeito, use o comando /etc/init.d/ssh restart ou /etc/init.d/ssh reload.

/etc/init.d/ssh restart

Como esse procedimento é perigoso, antes de fazer em um servidor de produção, teste em um servidor vagrant.

Fiz um tutorial de como utilizar o vagrant para desenvolvimento, que pode ser a maneira mais rápida para criar uma VM e testar.