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

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.


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 .


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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.