Tenho minha configuração de chave pública/privada, mas não sei para onde ela deve ir. Esses dois arquivos devem ser colocados ~/.ssh/
para meu usuário?
Responder1
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).
Embora a primeira etapa geralmente seja realizada 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 relativa ao host remoto, poderá ter alguns problemas com isso (falha na autenticação ou"muitas falhas de autenticação"). Para se livrar desse problema, você pode forçar ssh-copy-id
o uso da autenticação por senha com:
$ ssh-copy-id -o"PubkeyAuthentication no" ~/.ssh/id_rsa.pub user@remotehost
Claro, uma vez que suas chaves estejam colocadas corretamente, não há mais necessidade de senha:
$ ssh user@remotehost
Você também pode querer adicionar alguma configuração SSH ~/.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 simplesmente digitar o seguinte para fazer 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 authorized_keys
arquivo. Claro, outra maneira de fazer login como outra pessoa na sua máquina local é usar:
$ su [another user]
Isso economizará a transação SSH onde talvez você não precise dela.Sem senha su
pode ser configurado usandosudo
:
$ sudo -iu [another user]