A chave privada fica em casa. A chave pública viaja:
- Coloque sua chave privada em
~/.ssh
(host local). Geralmente será~/.ssh/id_rsa
. - Coloque sua chave pública em
~/.ssh/authorized_keys
(host remoto).
Enquanto a primeira etapa geralmente é feita automaticamente quando você cria a chave, a segunda pode ser realizada por meio de:
$ ssh-copy-id ~/.ssh/id_rsa.pub user@remotehost
Se você tiver alguma configuração residual referente ao host remoto, poderá ter algum problema com isso (falha na autenticação ou "falhas de autenticação em excesso" ). Para se livrar desse problema, você pode forçar o ssh-copy-id
a usar a autenticação por senha com:
$ ssh-copy-id -o"PubkeyAuthentication no" ~/.ssh/id_rsa.pub user@remotehost
Claro que, uma vez que suas chaves foram colocadas corretamente, não há mais necessidade de uma senha:
$ ssh user@remotehost
Você também pode adicionar algumas configurações de SSH em ~/.ssh/config
para torná-lo ainda mais simples:
Host [custom name for the remote machine]
Hostname [remote hostname or IP]
User [remote username]
IdentityFile /home/[your local user]/.ssh/id_rsa
Graças a isso, você pode digitar o seguinte para efetuar login no host remoto:
$ ssh [custom name for the remote machine]
Editar: se as duas máquinas (local e remota) forem iguais, você pode simplificar o procedimento com:
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Isso anexará sua chave pública ao arquivo authorized_keys
. Claro, outra maneira de registrar como outra pessoa em sua máquina local é usar:
$ su [another user]
Isso salvará a transação SSH onde você pode não precisar. Pode-se configurar su
sem senha usando sudo
:
$ sudo -iu [another user]