27/10/2014

Crear un usuario con acceso SFTP en AWS

A continuación detallo los pasos a seguir para dar de alta un usuario con acceso SFTP a una ruta concreta en Amazon Web Services.

El primer paso es realizar la instalación de vsftpd, para ello necesitamos cambiar de usuario al root

sudo su -root
yum install vsftpd

Después creamos el usuario y el grupo de usuarios

groupadd sftponly
useradd -d /home/sftpuser -g sftponly sftpuser

chown root:root /home/sftpuser
mkdir /home/sftpuser/.ssh

A continuación creamos la clave privada a partir del fichero de claves de conexión a AWS, el fichero claves.pem, que se genera cuando se crea una instancia.
Para ello utilizamos el puttygen, cargamos el fichero y grabamos el fichero de claves privadas (p.e. claves.ppk); además copiamos la clave pública generada por el puttygen en el fichero /home/sftpuser/.ssh/authorized_keys

Cambiamos el propietario de la carpeta .ssh

chown -R sftpuser:sftponly /home/sftpuser/.ssh

mkdir /home/sftpuser/inputs

chmod -R 0755 /home/sftpuser

cd /home/sftpuser/directory/

mkdir finalFolder

chown stfpuser:sftponly finalFolder

Se edita el fichero /etc/ssh/sshd_config y se modifica la siguiente información:

#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp

Match group sftponly
ChrootDirectory /home/sftpuser/directory
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

Y se reinicia el servicio

/etc/init.d/sshd restart

Stopping sshd: [ OK ]
Starting sshd: [ OK ]

Después de configurar el servidor en la máquina de AWS es necesario configurar el cliente de FTP para que utilice el fichero de clave privada; para ello accedemos en Filezilla a Edit > Settings > Connection > SFTP > Add keyfile e importamos el fichero de clave privada que ha generado el puttygen.

A continuación creamos en el Site Manager una configuración de acceso con:

    Host: ip de la máquina AWS,
    Protocol : SFTP – SSH File Transfer Protocol,
    Logon Type: Ask for password,
    User: sftpuser

Y ya está!! A conectarse y cargar y descargar ficheros…