Procedimento para logar somente com chave no FreeBSD

1 - Gerar sua chave:

# ssh-keygen -t rsa -C "E-mail" -f chave-SeuNome 

2 - Copie a chave pública para o servidor remoto, substituindo "sua_chave_publica.pub" pelo nome da sua chave e "IP_do_servidor_remoto" pelo endereço do servidor remoto:

# ssh-copy-id -i sua_chave_publica.pub usuario@IP_do_servidor_remoto -p "porta_ssh" 

3 - Vamos alterar a configuração do servidor SSH para permitir somente acesso via chave. Para isso será necessário alterar o arquivo /etc/ssh/sshd_config:

# cd /etc/ssh/
# ee sshd_config

– Localize e altere as seguintes linhas:

PermitRootLogin no  # Se tiver yes altere para no, 
                    # não vai permitir login com usuário root

PasswordAuthentication no # Desative a autenticação de senha, 
                          # definindo a seguinte linha como "no":

PubkeyAuthentication yes  # Permite o login por chave

KbdInteractiveAuthentication no # Quando definida como "no", 
                                # a autenticação do teclado 
                                # interativo é desabilitada e 
                                # somente a autenticação baseada 
                                # em chave pública é permitida

4 - Feito isso, vamos reiniciar o serviço SSH:

# service sshd restart
Performing sanity check on sshd configuration.
Stopping sshd.
Waiting for PIDS: 15374.
Performing sanity check on sshd configuration.
Starting sshd.

OBS: Agora se você fez todos os passos corretos, você não conseguirá logar com senha, somente com sua chave privada.