Supongamos que se contrata un servicio de VPS al que se puede acceder solo por ssh y con una llave como en amazon ec2, y que este VPS va a ser un servidor web. Los usuarios desarrolladores del VPS necesitan acceder a este servidor, pero el administrador no puede dar la llave por seguridad. ¿Solución? Un servidor ftp, por ejemplo, pero ftp es inseguro [1], pero podemos asegurar mediante ssl o pasarlo por un túnel ssh. Supongamos que no queremos todavía ssl, y accedemos a la segunda opción. ¿Cómo hacerlo en la instancia de amazon?
Bueno, he aquí una solución:
Seleccionamos un puerto que no esté siendo usado y lo abrimos en el firewall de amazon añadiéndolo a las reglas de seguridad del grupo. Para el ejemplo será el 2221.
Se crea un usuario para editar los archivos web. En amazon el usuario por defecto es www-data. Así que podemos cambiarlo. Para nuestro ejemplo, creamos el usuario con nombre http. Hacemos que apache arranque con este usuario.
Detenemos apache
sudo service apache2 stop
Editamos /etc/apache2/envvars
Cambiamos www-data por http
Editamos /etc/passwd
Cambiamos /home/http por /var/www
Cambiamos los permisos del directorio /var/www PERO no del directorio en si. Este debe ser de root
chown http:http -R /var/www
chown root:root /var/www
Reiniciamos apache
sudo service apache2 start
Copiamos /etc/ssh/sshd_config con otro nombre /etc/ssh/sshd_ftp_config y editamos ese archivo
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_ftp_config
sudo nano /etc/ssh/sshd_ftp_config
Cambiamos 22 por 2221
Cambiamos ChallengeResponseAuthentication no por ChallengeResponseAuthentication yes
Cambiamos PasswordAuthentication no por PasswordAuthentication yes
Cambiamos Subsystem sftp /usr/lib/openssh/sftp-server por Subsystem sftp internal-sftp
Y agregamos al final
Match User http
ChrootDirectory /var/www
ForceCommand internal-sftp
AllowTCPForwarding no
X11Forwarding no
sudo /usr/sbin/sshd -f /etc/ssh/sshd_ftp_config
Y listo, Ya podemos conectarnos por filezilla por sftp
sftp://[ip]
[1]http://juan0022.blogspot.com/2012/09/ftp-es-un-protocolo-inseguro.html
1 comentario:
CakePHP Web Development
Publicar un comentario