Talvolta, lavorando in informatica può capitare di aver a che fare con connessioni SFTP
La mia necessità era quella di creare uno scaricatore automatico di file, per poterli poi lavorare successivamente.
Di seguito i passi che abbiamo seguito
\) Per prima cosa, abbiamo installato sul server un applicativo free WinSCP scaricabile dal sito ufficiale https://winscp.net/
2) Poi abbiamo aperto l’applicativo e creato la connessione al server SFTP
Nella sezione Advanced abbiamo configurato la connessione SSH con il file ppk. (ATTENZIONE è molto importante depositare i file su percorsi di rete, o percorsi che saranno poi sicuramente raggiungibili dal server di produzione/collaudo che andremo ad usare)
3) a questo punto testiamo che la connessione funzioni correttamente
IMPORTANTE: All’interno di WinSCP è importante navigare anche le cartelle locali fino ad un path di rete, o comunque verso una cartella che sarà poi utilizzata dal server di produzione/collaudo.
4) A questo punto siamo pronti per esportare la connessione su un file .ini che depositeremo anch’esso su una cartella di rete (andremo a chiamarlo Collaudo.ini)
6) Adesso andiamo a creare un file .bat contenente questi comandi:
cd “c:\program files (x86)\winscp”
winscp.exe /ini=\xx.xxx.xx.xxx\Import\SFTP_Config\Collaudo.ini /batch /confirm=off MySFTP /command “get /FolderSFTP/*.* \xx.xxx.xx.xxx\Import\” /log=\xx.xxx.xx.xxx\Import\SFTP_Config\LogSFTP.txt
exit
(Ovviamente assicuratevi che i percorsi inseriti esistano)
La logica è di aprire WinSCP andando ad importare la connessione che abbiamo creato in locale e chiamato MySFTP.
Da qui facciamo il download di tutti i file importandoli in una share di rete.
Per aggiungere ulteriori comandi fare riferimento alla documentazione sul sito ufficiale https://winscp.net/
Il log non è obbligatorio ma consigliato
7) a questo punto il file bath è schedulabile con lo strumento che preferite (SSIS o Scheduler di Windows o Job con SQL Agent)