Parece que se han hecho preguntas similares antes, pero el problema que estoy teniendo no se ha planteado ni respondido como parte de las respuestas proporcionadas a las otras preguntas. Asi que...
Estoy usando una instancia de Amazon EC2 que ejecuta Ubuntu, y ya he descubierto cómo obtener acceso SSH con PuTTY con el inicio de sesión "ubuntu". Pensé que podría simplemente hacer unos pocosradios de uso, y en cada una de las carpetas de inicio de los otros usuarios, agregar ".ssh / Authorizedkeke" como estaba en la carpeta de inicio "ubuntu", y luego SSH al usar los otros nombres de usuario (pero la misma clave privada) funcionaría sin problemas; esto no sucedió (recibí el mensaje "El servidor rechazó nuestra clave").
Parece que hay algo que desconozco sobre cómo funciona el emparejamiento de claves SSH ... ¿alguna idea?
Sumario rápido:
- Acceso SSH con PuTTY usando "ubuntu" como nombre de usuario: funciona bien.
- Crear otros usuarios, copiar ".ssh / Authorizedkeke" de la carpeta de inicio "ubuntu" a otras carpetas de inicio de usuario, y SSH con la misma clave privada (iniciar sesión con un nombre de usuario diferente) no funciona. Recibiendo el mensaje "El servidor rechazó nuestra clave".
ACTUALIZACIÓN: he editado el archivo '/ etc / ssh / sshd_config' para descomentar la línea:
AuthorizedKeysFile %h/.ssh/authorized_keys
(que no sabía que estaba comentado por defecto), pero aún así no tuve suerte. Solo pensé en mencionarlo si eso fuera una sugerencia ...
ACTUALIZACIÓN2-IMPORTANTE: Gracias a la respuesta de Nikolay, me di cuenta de que había pasado por alto los permisos del archivo. Aunque los permisos no eran el problema (creo), resulta que cuando usé sudo para copiar '.ssh / Authorizedkeys' a las otras carpetas de usuario agregadas, el propietario de la carpeta y el archivo recién creados era en realidad root . La pregunta parece ser ahora: ¿cómo puedo cambiar el propietario de la carpeta / archivo (ya que un usuario no root probablemente no podría verificar una clave que es propiedad de root )? Haré una búsqueda para ver si aparece la respuesta ...
ACTUALIZACIÓN3-IMPORTANTE: he cambiado el permiso tanto para '.ssh' como para 'autorizado_claves', así como para el propietario y el grupo de root a otro usuario , pero cuando uso el nombre de usuario otheruser cuando intento SSH, sigo recibiendo el "Servidor rechazado Nuestro mensaje clave. Lo siento, agregué prematuramente la sección de respuestas ... la respuesta proporcionada parecía (y todavía parece) la respuesta correcta, lógicamente hablando, así que dije que fue respondida antes de probar ...
ACTUALIZACIÓN4-IMPORTANTE: la respuesta de Nickolay es correcta (que dije que no estaba en ACTUALIZACIÓN3). Mi problema (después de seguir la respuesta de Nickolay) en realidad no estaba relacionado con ninguna advertencia de SSH. Cuando creé la cuenta de otro usuario , accidentalmente especifiqué el shell como en /bin/bash/
lugar de /bin/bash
(observe el extra / ). Encontré esto porque todo el trabajo que había hecho era de la cuenta "ubuntu", y después de frustrarme, intenté iniciar sesión en otro usuario después de SSHing con ubuntu, lo que me devolvió el error "No se puede ejecutar / bin / bash /: no es un directorio". Después de cambiar el shell con chsh -s /bin/bash otheruser
, pude iniciar sesión en otro usuario desde ubuntu, pero lo más interesante es que esto me permitió usar SSH usando a otro usuario como usuario sin recibir el ". Entonces ... la incapacidad de instanciar un shell para usar de alguna manera devuelto como un mensaje clave rechazado. ¿Hay algún lugar donde debería llamar la atención sobre esto ...? En cualquier caso, gracias de nuevo a Nickolay.
RESPUESTA: La respuesta de Nickolay cubre lo que se debe hacer en esta situación, incluido el uso del chown
comando para cambiar la propiedad de la carpeta / archivo como se menciona en el enlace provisto debajo de su respuesta. (También usé el chgrp
comando ya que el grupo también era root)
Estos son los pasos que utilicé (es posible que tenga que introducir estos comandos sudo
):
- chmod go-w otheruser otheruser / .ssh
- chmod 600 otheruser / .ssh / optional_keys
- chown 'otheruser' otheruser / .ssh
- chown 'otheruser' otheruser / .ssh / Authorizedkeys
- chgrp 'otro usuario' otro usuario / .ssh
- chgrp 'otro usuario' otro usuario / .ssh / Authorizedkeys
NOTA: Los dos últimos comandos son para cambiar el grupo al que están asociadas la carpeta '.ssh /' y el archivo 'autorizado_claves'. Es posible que desee que sean algo más, pero quería mantenerlos consistentes con los otros archivos / carpetas en la carpeta de inicio de ese usuario.
Respuestas:
También debe establecer los permisos correctos para la carpeta .ssh y claves_autorizadas: chmod 700 ~ / .ssh && chmod 600 ~ / .ssh / optional_keys Además, el propietario de estos archivos debe ser el mismo que el usuario que intenta iniciar sesión.
fuente
sudo cp ...
comando, continuaré y consideraré esta como la respuesta."Cannot execute /bin/bash/: Not a directory"
al iniciar sesión en otro usuario. Me di cuenta de que había especificado "/ bin / bash /" en lugar de "/ bin / bash" como el shell. La eliminación de "/" me permitió iniciar sesión en la cuenta TAN BIEN COMO finalmente SSH en la cuenta