script Sftp pentru a transfera fișiere în Linux cu parola

SFTP vă permite să transferați în siguranță fișiere în Linux. Dar uneori poate fi necesar să transferați automat fișiere folosind SFTP. În astfel de cazuri, solicitarea parolei poate reprezenta un obstacol. În acest articol, vom analiza cum să creați un script SFTP pentru a transfera fișiere în Linux, cu parolă. Va trebui să utilizați o bibliotecă terță parte cum ar fi keychain, sshpass sau se așteaptă ca furnizează automat parola SFTP, pentru a simplifica viața ta. Pentru articolul nostru, vom folosi SSHpass. Vom analiza, de asemenea, cum să configurați autentificarea parolei fără promptitudine fără a utiliza SSHpass, folosind ssh-copy.

ce este SSHpass

SSHPass este un instrument simplu de linie de comandă care vă permite să furnizați parole promptului de comandă și scripturilor, astfel încât să puteți automatiza sarcinile care necesită autentificare, fără întrerupere. Aceasta facilitează autentificarea parolei non-interactive.

script Sftp pentru a transfera fișiere în Linux cu parolă

iată pașii pentru a transfera fișiere în Linux cu parolă

setați parola SSH

deschideți terminal și executați următoarea comandă pentru a seta parola SSH. Înlocuiți-parola-aici cu parola SSH.

export SSHPASS=your-password-here

transferați fișierul în Linux

rulați următoarea comandă pentru a transfera fișiere în Linux. Înlocuiți utilizator cu numele de utilizator SFTP, la distanță-gazdă cu adresa gazdă SFTP, / date cu locația folderului de la distanță, și-fișier.conectați-vă cu numele fișierului pe care doriți să îl transferați.

sshpass -e sftp -oBatchMode=no -b - sftp-user@remote-host << ! cd /data put your-file.log bye!

puteți adăuga cele două comenzi de mai sus la fișierul script shell pentru a obține scriptul SFTP pentru a transfera fișiere folosind parola.

mod alternativ

puteți utiliza alternativ funcția ssh-copy pentru a face același lucru. În această abordare, va trebui să creați o cheie publică pentru clientul dvs. și să adăugați această cheie publică pe serverul dvs. la distanță. Odată ce faceți acest lucru, serverul de la distanță va folosi întotdeauna cheia publică și va opri solicitarea parolei.

deschideți terminal și executați următoarea comandă pentru a crea cheia publică pentru clientul dvs.

ssh-keygen

vi se va solicita 3 întrebări, trebuie doar să apăsați tasta enter pentru fiecare prompt. Acest lucru va genera cheia publică.

rulați următoarea comandă pentru a copia cheia publică pe serverul dvs. Înlocuiți remote-host cu adresa IP gazdă a serverului SFTP.

ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host

vi se va solicita să accesați/respingeți cheia gazdei la distanță. Apăsați Y yo accepta. Apoi, vi se va cere să introduceți parola serverului dvs. la distanță. Introduceți-l pentru a adăuga cu succes cheia publică la lista serverului la distanță a cheilor publice acceptate. Veți fi capabil să-l găsească în .fișier ssh / authorized_key.

de acum înainte, nu vi se va solicita parola în timp ce utilizați scp, ssh sau sftp.

în acest articol, am analizat două moduri diferite de a transfera fișiere folosind SFTP.

citește și:

cum să inversați șirul în Python
cum să vă conectați la baza de date PostgreSQL folosind Python
cum să eliminați Snap în Ubuntu
cum să selectați Înregistrări aleatorii în MySQL
cum să schimbați recursiv proprietarul directorului în Linux

Leave a Reply

Adresa ta de email nu va fi publicată.