SSH com chave pública no Oracle Linux 6

Uma das primeiras coisas a fazer quando configurar um novo servidor, é tornar o acesso via SSH mais seguro. No Oracle Linux 6 (e demais distribuições derivados do Red Hat Enterprise Linux 6, como a CentOS 6) o processo é bem fácil.

Edite o arquivo /etc/ssh/sshd_config e deixe as seguintes variáveis conforme mostrado abaixo:

PermitRootLogin no

RSAAuthentication no
PubkeyAuthentication yes

PermitEmptyPasswords no
PasswordAuthentication no

KerberosAuthentication no

GSSAPIAuthentication no

Agora dentro do diretório ~/.ssh de cada usuário, deverá existir um arquivo com o nome authorized_keys, listando as chaves públicas que terão acesso via SSH. As permissões desse arquivo devem ser 644 ou 640.

Tenha certeza de que esse arquivo existe pois após reiniciar o SSH, se você não tiver uma chave pública nesse arquivo em seu diretório home, não conseguirá acessar mais o servidor. Somente via acesso físico ao mesmo.

Depois que você colocar a chave pública em seu arquivo authorized_hosts, reinicie o serviço:

# service sshd restart
Stopping sshd:                        [ OK ]
Starting sshd:                        [ OK ]

Pronto, se você tentar acessar via SSH sem especificar sua chave privada, correspondente à chave pública que está no servidor, o SSH negará o acesso:

$ ssh abrantesasf@192.168.10.50
Permission denied (publickey).

Obviamente sua chave privada deve permanecer SECRETA ou qualquer pessoa que conseguir sua chave privada conseguirá logar no servidor.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *