sftp
No se debe usar FTP; hay otra versión, que es LFTP - sin embargo, sigue siendo mejor utilizar SFTP. Primero hay que conectarse:
$ sftp -P 22 usuario@sftp.ejemplo.com
donde -P
define el puerto (el número 22 por defecto), usuario
es el nombre de usuario y sftp.ejemplo.com
es el dominio. Para navegar en el servidor remoto, se utiliza pwd
, ls
y cd
. Se pueden crear directorios con mkdir
.
Para cambiar la parte local se utiliza lpwd
y lcd
.
get
se utiliza para descargar, y put
para enviar. Poner -r
lo hace recursive. Aquí hay un buen tutorial.
Lo más fácil es comprimir los archivos antes de mandarlos.
Servidor sftp
open-ssh
tiene que estar instalado (ver referencia)
- Crear un directorio para albergar a los usuarios de sftp
sudo mkdir -p /data
sudo chmod 701 /data
- Crear un grupo para usuarios de sftp
sudo groupadd GROUP
- Crear un usuario para utilizar sftp
sudo useradd -g GROUP -s /sbin/nologin USERNAME
sudo passwd USERNAME
- Crear un directorio en la carpeta de sftp (el usuario puede descargar todos los archivos en su carpeta; pero para subir archivos, tiene que meterse en la carpeta
upload
)
sudo mkdir -p /data/USERNAME/upload
sudo chown -R root:GROUP /data/USERNAME
sudo chown -R USERNAME:GROUP /data/USERNAME/upload
- Configurar
/etc/ssh/sshd_config
Añadir al final del archivo las siguientes líneas (hay que resetear el servidor con systemctl restart sshd
para que tenga efecto)
Match Group GROUP
ChrootDirectory /data/%u
ForceCommand internal-sftp