ssh muchos usuarios a una casa

ssh muchos usuarios a una casa

Quiero permitir que algunos usuarios confiables introduzcan archivos scp en mi servidor (a un usuario específico), pero no quiero darles a estos usuarios un hogar, ni un inicio de sesión ssh.

Tengo problemas para entender la configuración correcta de los usuarios/grupos que tengo que crear para permitir que esto suceda.

Pondré un ejemplo;

Teniendo:

  1. MyUser@MyServer
  2. MyUserpertenece al grupoMyGroup
  3. La casa de MyUser será, digamos,/home/MyUser
  4. SFTPGuy1@OtherBox1
  5. SFTPGuy2@OtherBox2

Me dan el suyo id_dsa.puby lo agrego a miauthorized_keys

Supongo que entonces haría en mi servidor algo como

useradd -d /home/MyUser -s /bin/false SFTPGuy1(y lo mismo para el otro...)

Y para el último, useradd -G MyGroup SFTPGuy1(luego otra vez, para el otro chico)

Entonces esperaría que los SFTPGuys pudieran sftp -o IdentityFile=id_dsa MyServery fueran llevados a la casa de MyUser...

Bueno, este no es el caso... SFTP sigue pidiéndome una contraseña.

¿Alguien podría señalar lo que me estoy perdiendo?

Mil gracias,

F.

[EDITAR:mesaen StackOverflow me preguntó si el archivo Authorized_keys era legible para los otros usuarios (miembros de MyGroup). Es un punto interesante, esta fue mi respuesta:

Bueno, no lo fue (era 700), pero luego cambié los permisos del directorio .ssh y el archivo de autenticación a 750, aunque todavía no tuvo efecto. Supongo que vale la pena mencionar que mi directorio de inicio ( /home/MyUser) también es legible para el grupo; la mayoría de los directorios son 750 y la carpeta específica donde colocarían los archivos es 770.

Sin embargo, en cuanto al archivo de autenticación, creo que la autenticación la realizaría el usuario local MyServer, ¿no es así? si es así, no entiendo la necesidad de que otros usuarios lo lean... bueno... solo me pregunto. ]

Respuesta1

Antes de intentar esto, lea hasta el final, por favor.

Puedes hacer lo que quieras creando 2 usuarios, colocándolos en el mismo grupo y dándoles el mismo directorio de inicio. Luego cree el archivo ~/.ssh/authorized_keys en la casa compartida con las claves.

Las cuentas deben tener un shell, así que bloquéelos usermod -L LOGINpara evitar el inicio de sesión interactivo.

Los permisos en el directorio ~/.ssh deben ser g:rx y ~/.ssh/authorized_keys deben ser g:r--

chmod g+rx ~/.ssh
chmod g+r ~/.ssh/authorized_keys

Esto luego causa problemas a sshd ya que espera que el directorio sea como máximo g:r-- y el archivo sea g:--- aparece el mensaje de error

Authentication refused: bad ownership or modes for file /home/test/.ssh/authorized_keys

Para que este esquema funcione ahora tienes queromper los controles incorporados de sshdeditando /etc/sshd_configy configurando StrictModes nodesde el valor predeterminado StrictModes yes. Reinicie sshd para dar a conocer los cambios.

Debería funcionar como quieras. Desafortunadamente, le quitó la seguridad al sshd y podría realizar cambios en una fecha posterior que dejen su sistema completamente abierto.

Para hacer esto de forma más segura, no realice ninguno de los cambios anteriores.

Cree 2 cuentas de usuario en el mismo grupo y configure sus ~/.ssh/authorised_keys. Cree un enlace desde cada directorio de inicio al lugar donde desea que coloquen las cosas.

ln -s -n /path/to/stuff content

Bloquee los permisos en el directorio de inicio para evitar que los usuarios les escriban.

Evite que las cuentas inicien sesión de forma interactiva

usermod -L LOGIN

Cambie los permisos en /ruta/a/cosas para permitir el acceso al grupo.

Respuesta2

Parece que desea proporcionar acceso a un ID de usuario que actúa como un buzón para archivos. Puede restringir lo que los usuarios pueden hacer en el archivo de claves autorizadas.

Como solo desea que se conecten a esta identificación de usuario en el servidor, puede proporcionarles un archivo .ssh/config que los asigne directamente a la identificación de usuario correcta.

Respuesta3

La respuesta a esta pregunta -¿Cómo puedo crear una cuenta de usuario que solo permita cargas a través de SFTP?- recomienda un paquete llamadosolo- Nunca lo he usado, pero parece que podría hacer lo que quieras.

Respuesta4

inspeccionar los archivos de registro puede ayudar. Ingrese lo siguiente después de un inicio de sesión "incorrecto"

tail -n 50 /var/log/secure

y publicar la salida

información relacionada