Generé una clave y la copié a mi objetivo:
ssh-keygen
ssh-copy-id username@hostname
Dejé la ubicación de la clave como predeterminada y no configuré ninguna frase de contraseña.
Por un breve tiempo después de eso, pude hacerlo ssh username@hostname
sin que me pidieran una contraseña, y luego dejó de funcionar por alguna razón.
ssh
key-authentication
tshepang
fuente
fuente
Respuestas:
Si la autenticación de clave pública no funciona: asegúrese de que en el lado del servidor, su directorio de inicio (
~
), el~/.ssh
directorio y el~/.ssh/authorized_keys
archivo, solo puedan ser escritos por su propietario . En particular, ninguno de ellos debe ser editable por el grupo (incluso si el usuario está solo en el grupo).chmod 755
ochmod 700
está bien,chmod 770
no lo está.Qué verificar cuando algo está mal:
ssh -vvv
para ver una gran cantidad de resultados de depuración. Si publica una pregunta preguntando por qué no puede conectarse con ssh, incluya esta salida (es posible que desee anonimizar los nombres de host y de usuario)./var/log/daemon.log
o/var/log/auth.log
o similar.fuente
authorized_keys
no debería poder ser escrito por el grupo? ¿SSH rechaza esto debido a problemas de seguridad?authorized_keys
puede agregar su propia clave allí y así iniciar sesión en la cuenta. Entonces solo el usuario debe ser permitido. (Tener el archivo de grupo con permisos de escritura es realmente seguro si ningún otro usuario está en ese grupo, pero eso es difícil de detectar de forma fiable cuando los miembros del grupo pueden provenir de las bases de datos de la red.)El directorio de inicio del objetivo era
755 drwxr-xr-x
. Cambiarlo para que se pueda escribir en grupo775 drwxrwxr-x
rompió la configuración sin contraseña.fuente
Después de asegurarse de que los permisos fueran correctos, vuelva a enviar las claves, todavía no funcionaba.
Luego me topé con esto que no había hecho anteriormente y no había visto a nadie mencionarlo.
No se puede usar -o allow_other con sshfs (opción habilitada en fuse.conf)
Después de habilitar, ejecuté mis comandos sshfs sin sudo y todo funcionó perfectamente.
fuente
Asumiendo RHEL / CentOS, y asumiendo que tiene acceso de administrador al servidor remoto donde el usuario
newuser
desea ssh.Obtener
newuser's
existenteid_rsa.pub
y tener listo.Sigue los pasos:
Intenta
newuser
iniciar sesión.fuente