Cambié mis permisos en mi .ssh
carpeta y ahora cuando uso un software que usa mi clave privada, tengo que escribir mi contraseña cada vez. ¿Cuáles deberían ser mis permisos en mi id_rsa
archivo para no tener que escribir una contraseña cada vez que uso una aplicación que la usa?
Actualmente mis permisos están configurados en:
-rw-------@ 1 Jody staff 114 Nov 4 23:29 config
-rw------- 1 Jody staff 1743 Oct 21 2009 id_rsa
-rw-------@ 1 Jody staff 397 Oct 21 2009 id_rsa.pub
-rw-------@ 1 Jody staff 3855 Sep 13 22:35 known_hosts
linux
macos
permissions
file-permissions
JakeGould
fuente
fuente
Estaba luchando con esto para siempre y finalmente descubrí lo que se necesitaba. Reemplace en
$USER
todas partes con el nombre de usuario SSH en el que desea iniciar sesión en el servidor. Si está intentando iniciar sesión yaroot
que necesitaría usar/root/.ssh
etc., en lugar de/home/root/.ssh
lo que es para usuarios no root.chmod go-w /home/$USER
chmod 700 /home/$USER/.ssh
chmod 644 /home/$USER/.ssh/authorized_keys
user
posee los archivos / carpetas y noroot
:chown user:user authorized_keys
ychown user:user /home/$USER/.ssh
ssh-keygen
) en elauthorized_keys
archivo del usuario en el servidor.ssh
carpeta correcta que ha estado modificando. Si no, utilícelousermod -d /home/$USER $USER
para solucionar el problema.service ssh restart
.ssh
carpeta del usuario local e inicie sesión:ssh [email protected]
fuente
abc
), diferente del usuario en el servidor remoto (por ejemplo[email protected]
). Solo tenía que asegurarme de que el usuario local poseía los archivos .ssh locales (por ejemploabc:abc
, noroot:abc
) `También asegúrese de que su directorio personal no sea escribible por otros usuarios.
chmod g-w,o-w ~
fuente
Los permisos no deberían tener nada que ver con esto. Su clave privada está encriptada con la contraseña, por lo que debe ingresarla para que la clave privada se desencripte y pueda usarse.
Puede considerar ejecutar un agente ssh, que puede almacenar en caché las claves descifradas y las proporcionará a las aplicaciones que las necesiten.
fuente
Felipe tiene razón: el directorio que contiene su directorio .ssh no debe poder escribirse por grupo u otro. Por
chmod go-w ~
lo tanto, es el siguiente paso lógico que debe probar si aún se le solicita una contraseña cuando ssh'ing después de ejecutarssh-keygen -t rsa; cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
, suponiendo que no asigne una frase de contraseña en el comando ssh-keygen, y su directorio .ssh está en su directorio de inicio.fuente