SSH sem Senha

Como configurar as chaves ssh para acessar seus servidores de forma mais segura

Acessar servidores via ssh usando um conjunto de chaves publica/privada é mais seguro e pratico principalmente alem de facilitar a automação de várias tarefas.

Criando as chaves

Primeiro crie as chaves com o seguinte comando:

mkdir ~/.ssh
ssh-keygen

Você só precisa fazer isso uma vez na maquina cliente.

Copiando a chave publica para o servidor

É necessário copiar a chave que acabamos de gerar para o arquivo ~/.ssh/authorized_keys no servidor. Uma forma fácil de fazer isso é usando o próprio SSH como no comando abaixo.

cat ~/.ssh/id_rsa.pub |
ssh voce@exemplo.com.br 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'

Com isso criamos o diretório ~/.ssh no servidor caso ele já não existe e copiamos a chave para lá no arquivo ~/.ssh/authorized_keys, e essa foi a ultima vez que você precisou entrar com a senha. :D

Ainda mais pratico

Você pode parar no comando anterior, o servidor já esta aceitando suas conexões ssh sem pedir a senha porque estamos usando um conjunto de chaves publica/privada. Mas podemos tornar as coisas ainda mais fáceis.

Edite o arquivo ~/.ssh/config como no exemplo abaixo.

Host *
    ServerAliveInterval 240
    ConnectTimeout 0

Host exemplo
    HostName exemplo.com.br
    Port 22
    User voce
    ServerAliveInterval 100

Com isso você esta configurando o ssh para não desconectar por inatividade o que ajuda bastante quando se esta programando e é preciso ficar muito tempo indo e voltando entre seu terminal e outras ferramentas. Também estamos configurando o nome do usuário, a porta e um apelido para o servidor, dessa forma no lugar de digitar ssh voce@exemplo.com.br basta digitar ssh exemplo. Essa pequena economia de teclas faz toda diferença e também previne erros.

Segurança

Esse tipo de configuração é mais segura que usar apenas uma senha desde que você cuide bem do seu conjunto de chaves.

comments powered by Disqus