Permitir scp / ssh para el usuario de www-data

11

Estoy en Amazon EC2 usando Ubuntu 10.04.2

Mi carpeta web es propiedad de www-data, por lo que quiero poder iniciar sesión en mi servidor como www-data para ssh y scp.

¡Gracias!

Agregar la línea a mi / etc / ssh / sshd_config no parece funcionar.

AllowUsers www-data
ratón ambiguo
fuente

Respuestas:

6

En Debian, en el que se basa Ubuntu, el usuario de www-data tiene / bin / sh como shell predeterminado. Para habilitar SFTP, puede crear /var/www/.ssh/authorized_keyscon su clave pública. Los permisos en /var/www/.sshdeberían ser 700 y los permisos en el archivo autorizado_claves deberían ser 600. Deberá agregar lo siguiente a su configuración http para prohibir el acceso a este directorio.

<Directory /var/www/.ssh>
  Order Deny,Allow
  Deny from all
</Directory>

Puede verificar la configuración de los usuarios de www-data (directorio de inicio, shell, etc.) usando getent passwd www-data.

Asegúrese de que su sshd_config lo tenga Subsystem sftp /usr/lib/openssh/sftp-server, y probablemente también quiera configurarlo PasswordAuthentication no.

slillibri
fuente
2

Esto es un poco inseguro. Le sugeriría que cargue en un área intermedia con otro usuario y ejecute un crontrabajo de vez en cuando para mover cosas donde corresponde y cambiar sus permisos en consecuencia.

Si realmente insiste en iniciar sesión como www-data, debe usar una clave privada ssh para hacerlo (las instancias AFAIK EC2 solo permiten la autenticación de clave). También debe verificar que www-datatiene un shell válido /etc/passwdy un directorio de inicio válido.

Al final, también puede probar algunas soluciones de esta pregunta .

volcado de memoria
fuente
Estaba planeando usar una clave privada ssh para hacer eso. Pero si uso cron para copiar los archivos, ¿no sería un poco lento porque tendría que esperar a que el script cron lo copie? Además, no podría subir archivos. Lo que realmente quiero es algo como FTP para www-data pero seguro como scp.
ambiguousmouse
Las otras soluciones que doy son factibles, solo que no me gusta la idea.
coredump
-3

Iniciar sesión como www-data para scp es una pérdida de tiempo.

Para el comando scp por qué no lo usa ssh2_scp_sendpara transferir archivos, es simple y no necesita agregar-ssh o crear una clave pública para el usuario www-data

por ejemplo

ssh2_scp_send($connection, '/directory/filename', '/remotedirectory/filename', 0644);

Deberia trabajar

misterio
fuente