Deci, după ce am săpat puțin, se dovedește că PSFTP nu recunoaște cheile serverului ftp. Am deschis cmd ca SISTEM
(ceea ce poate fi puțin complicat!) și conectat prin PSFTP, a acceptat să aibă încredere în gazdă (server sFTP), iar apoi scriptul a funcționat conform așteptărilor! Nu a cauzat probleme pentru alți utilizatori, deoarece aceștia au fost utilizați în testare și au primit promptul mai devreme!
FYI cheia este, de asemenea, stocată în Registry sub HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
, deci ar putea fi adăugat acolo pentru alți utilizatori dacă nu doriți să vă autentificați manual (am adăugat această verificare în scriptul meu pentru a o adăuga dacă lipsește pentru orice utilizator care rulează scriptul).
EDIT: Cred că cea mai mare problemă a mea a fost obținerea cmd ca SISTEM
astfel încât să pot depana ceea ce se întâmplă, odată ce am putut (vezi linkul de mai sus pentru cum am făcut-o) mi-a devenit clar.Pentru referință și o mai bună claritate, mai jos este rezultatul comenzii înainte de a adăuga cheia, doar mascați părțile sensibile:
C:\Users\myuser>echo ls | psftp -l myftpuser -pw mycomplexpswd sftp_server
Cheia gazdă a serverului nu este stocată în cache. Nu aveți nicio garanție
că serverul este computerul pe care îl crezi.
Amprenta cheii rsa2 a serverului este:
ssh-rsa 2048 SHA256: cheiacomplexfancyhost
Dacă aveți încredere în această gazdă, introduceți „y” pentru a adăuga cheia
Cache-ul PuTTY și continuați conectarea.
Dacă doriți să continuați conectarea o singură dată, fără
adăugând cheia în cache, introduceți „n”.
Dacă nu aveți încredere în această gazdă, apăsați pe Return pentru a abandona
conexiune.
Stocați cheia în cache? (da/nu, Return anulează conexiunea, pentru mai multe informații)
Folosind numele de utilizator „myftpuser”.
Mesaj banner de pre-autentificare de la server:
| Conectare FTP companie - Vă rugăm să introduceți acreditări valide pentru a continua
Sfârșitul mesajului banner de pe server
Solicitări de autentificare interactivă de la tastatură de la server:
Sfârșitul solicitărilor interactive de la tastatură de la server
Directorul de lucru la distanță este /
psftp> ieși