No seu caso, "Servidor" e "Cliente" são o mesmo computador.
Configurações do lado do cliente
Gerar par de chaves SSH.
mkdir ~/.ssh
cd ~/.ssh && ssh-keygen -b 2048 -t rsa -C "My Comment for key" -t "access_key"
Informações detalhadas sobre as opções do ssh-keygen que você pode ler na página man:
man ssh-keygen
Depois disso, você pode encontrar dois arquivos access_key e access_key.pub em ~ / .ssh /
Crie um arquivo com o nome "config" no seu diretório ~ / .ssh. Este arquivo permite que você defina configurações diferentes para cada host que você precisa se conectar.
Aqui está um conteúdo simples deste arquivo
Host my.remote-host.com
User remoteusername
Identityfile ~/.ssh/access_key
my.remote-host.com - host de destino para conectar-se a (localhost)
remoteusername - nome de login do usuário na máquina remota
Identityfile - caminho para você chave privada
Configurações do lado do servidor
Como ativar a autenticação "PublickKey":
sudo nano /etc/ssh/sshd_config
Não comentar nas próximas linhas:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
RSAAuthentication - permite suporte a chaves RSA
PubkeyAuthentication - permite a autenticação por chaves públicas
AuthorizedKeysFile - caminho para o arquivo que contém chaves públicas
Reinicie seu servidor ssh
sudo service sshd restart
Crie um diretório e defina as permissões corretas
mkdir ~/.ssh
sudo chmod 700 ~/.ssh
Crie um arquivo para chaves públicas e defina as permissões corretas
touch ~/.ssh/authorized_keys
sudo chmod 600 ~/.ssh/authorized_keys
Coloque sua chave pública (access_key.pub) em ~ / .ssh / authorized_keys
Você deve usar apenas uma linha por cada chave. Exemplo:
ssh-dss AAAAB3NzaC1kc3MAAAbC2kVOJpcnfu7UqKV44uZ/khiP9K7F...aoSe MyComment
Como desativar completamente a autenticação por senha
sudo nano /etc/ssh/sshd_config
Altere PasswordAuthentication de "sim" para "não" Reinicie o servidor sshd
sudo service sshd restart