SSH com login automático

Se você abre conexões SSH com freqüência, sempre com as mesmas máquinas, já deve estar cansado de ter que ficar digitando seu password ou sua passphrase a cada nova conexão. A boa notícia é que ao usar um par de chaves você pode automatizar o login de duas formas diferentes.

A primeira opção, menos segura, é simplesmente deixar a passphrase em branco na hora de gerar as chaves, o que faz com que o login passe a ser automático. Isso torna as coisas muito práticas, pois você pode escrever até mesmo scripts para copiar arquivos via SFTP, sem precisar se preocupar com senhas.

Esta opção é muito usada para criar scripts de backup automático, capazes de acessar o servidor e transferir os arquivos de forma automática, sem que o administrador precise ficar na frente do terminal para digitar a passphrase, mas não é necessariamente uma boa idéia para uso em estações de trabalho, pois alguém que consiga copiar sua chave privada poderia ganhar acesso irrestrito ao servidor.

Isso não é algo tão corriqueiro quanto pode parecer, pois a chave privada nunca sai do seu micro. Para roubar sua chave privada, seria necessário que alguém efetivamente invadisse o sistema, ou tivesse acesso físico ao seu micro (para dar boot com o live-CD e copiar o arquivo para um pendrive), mas, de qualquer forma, não é bom dar sopa para o azar.

Chegamos então à segunda opção, que consiste em usar o ssh-agent para salvar as passphrases na memória, sem com isso abrir mão da segurança. Ele funciona como uma espécie de “cache”, onde você digita a passphrase apenas uma vez e ela fica gravada na memória até que a sessão seja encerrada. A segurança não é prejudicada, pois a passphrase não é salva em lugar algum; fica apenas armazenada (de forma encriptada) em uma área protegida de memória, acessível apenas ao ssh-agent. Ao desligar o micro, tudo é perdido.

Para usar o ssh-agent, abra um terminal e use os comandos:

$ ssh-agent
$ ssh-add

Ele vai solicitar sua passphrase, como neste exemplo:

Enter passphrase for /home/morimoto/.ssh/id_rsa: ********
Identity added: /home/morimoto/.ssh/id_rsa (/home/morimoto/.ssh/id_rsa)

A partir daí, ela fica carregada na memória e você não precisa mais se preocupar até o próximo reboot.

No KDE, uma forma prática de fazer com que os dois comandos sejam executados automaticamente durante a abertura do sistema, é adicioná-los em um atalho dentro da pasta “.kde/Autostart” (dentro do seu diretório home) de forma que eles sejam executados automaticamente e você tenha apenas o trabalho de digitar a chave e dar Enter. No caso das distribuições baseadas no Gnome, use a opção “Sistema > Preferências > Sessões” para adicionar um atalho executando o comando “xterm -e ‘ssh-agent; ssh-add'”, obtendo assim o mesmo resultado:

m32b68812

Note que os comandos não devem ser adicionados no “/etc/rc.local” ou outro arquivo de inicialização, pois precisamos que os comandos sejam executados dentro do seu login de usuário e não pelo root.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X