Déjame que le eche un vistazo, me suena que añadieron soporte sftp al /tool fetch en algún momento.
Con respecto al ftp en el NAS, problema cero. Tengo un Synology y lo he estado usando por sftp mucho tiempo. Sólo necesitas instalar la clave pública en tu usuario, accediendo por ssh al NAS y mediante la instrucción “ssh-copy-id”, que instalará la clave pública en la máquina que le digas.
Lo dicho, déjame que lo pruebe, y te digo.
Saludos!
He buscado información para los envíos vía SFTP y entiendo que debería ser así, ¿cómo lo ves?
Bash:
# SFTP Config
:local ftpserver "192.168.88.247" # NAS Synology IP
:local pathserver "volume1/backup"
:local username "mikrotik"
:local password "mikrotik"
:local port 99
:local textfilename ""
# Send file to SFTP Server
tool fetch upload=yes url="sftp://$ftpserver/$pathserver/$textfilename" \
user=$username password=$password src-path="/$textfilename" port=$port
Hasta aquí lo he probado y en principio va bien.
Lo que no me queda claro es el tema de las claves SSH.
Esto es lo que he hecho en el NAS para probar:
1. He creado el usuario "mikrotik" para que trabaje exclusivamente en la carpeta "volume1/backup" y lo he añadido al grupo de administradores.
2. Le he dado permisos para que trabaje con las aplicaciones FTP (p2132) y SFTP (p99).
3. En File Station he creado la carpeta /homes/mikrotik/.ssh
4. Accedo por SSH al NAS y ejecuto dentro de esa carpeta el comando:
ssh-keygen -t rsa para generar las claves pública y privada.
5. Copio la clave pública a un nuevo fichero:
Código:
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
6. Aplico los permisos necesarios a carpetas y ficheros para que funcione:
Código:
chmod 0711 ~/.ssh
chmod 0600 ~/.ssh/authorized_keys
chmod 0711 ~
7. En Mikrotik copio la clave generada en el NAS
id_rsa.pub a Files.
8. En la terminal de MIkrotik:
Código:
/user ssh-keys import public-key-file=id_rsa.pub
Y hasta aquí he llegado, si ejecuto el comando con user+password sí funciona.
Código:
tool fetch upload=yes url="sftp://$ftpserver/$pathserver/$textfilename" \
user=$username password=$password src-path="/$textfilename" port=$port
Pero si intento hacerlo sin password, el router se queda bloqueado un par de minutos
Código:
tool fetch upload=yes url="sftp://$ftpserver/$pathserver/$textfilename" \
user=$username src-path="/$textfilename" port=$port
S@lu2.