Tengo mi configuración de clave pública / privada, pero no sé dónde debería ir. ¿Deberían ambos archivos colocarse en ~/.ssh/
para mi usuario?
Responder
La clave privada se queda en casa. La clave pública viaja:
- Coloque su clave privada en
~/.ssh
(host local). Por lo general, será~/.ssh/id_rsa
. - Coloque su clave pública en
~/.ssh/authorized_keys
(host remoto).
Si bien el primer paso generalmente se realiza automáticamente cuando crea el clave, el segundo se puede lograr a través de:
$ ssh-copy-id ~/.ssh/id_rsa.pub user@remotehost
Si tiene alguna configuración residual relacionada con el host remoto, puede tener algún problema con esto (falla de autenticación , o «demasiadas fallas de autenticación» ). Para solucionar este problema, puede forzar a ssh-copy-id
a usar la autenticación de contraseña con:
$ ssh-copy-id -o"PubkeyAuthentication no" ~/.ssh/id_rsa.pub user@remotehost
Por supuesto, o Una vez que sus claves están colocadas correctamente, ya no es necesaria una contraseña:
$ ssh user@remotehost
También puede agregar alguna configuración SSH en ~/.ssh/config
para hacerlo aún más simple:
Host [custom name for the remote machine] Hostname [remote hostname or IP] User [remote username] IdentityFile /home/[your local user]/.ssh/id_rsa
Gracias a esto, puede escribir lo siguiente para iniciar sesión en el host remoto:
$ ssh [custom name for the remote machine]
Editar: si ambas máquinas (local y remota) son iguales, puede simplificar el procedimiento con:
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Esto agregará su clave pública al archivo authorized_keys
. Por supuesto, otra forma de iniciar sesión como otra persona en su máquina local es usar:
$ su [another user]
Esto le ahorrará la transacción SSH donde es posible que no la necesite . Sin contraseña su
se puede configurar con sudo
:
$ sudo -iu [another user]
ssh localhost
?~/.ssh/authorized_keys
localmente. Para esto, puede usarcat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
. Edité mi respuesta.-i
a su primer comando, para que todo el comando se vea como$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost
.