Sftp script om bestanden over te brengen in Linux met wachtwoord
SFTP stelt u in staat om veilig bestanden over te brengen in Linux. Maar soms moet u mogelijk bestanden automatisch overbrengen met behulp van SFTP. In dergelijke gevallen kan de wachtwoordprompt een obstakel vormen. In dit artikel zullen we kijken hoe je een SFTP script maakt om bestanden over te brengen in Linux, met een wachtwoord. U moet gebruik maken van een bibliotheek van derden, zoals sleutelhanger, sshpass of verwachten dat automatisch levert uw SFTP wachtwoord, om uw leven te vereenvoudigen. Voor ons artikel gebruiken we SSHpass. We zullen ook kijken naar het instellen van promptless wachtwoord authenticatie zonder gebruik te maken van SSHpass, met behulp van ssh-copy.
Wat is SSHpass
SSHPass is een eenvoudig opdrachtregelprogramma waarmee u wachtwoorden kunt opgeven voor opdrachtprompt en scripts, zodat u taken kunt automatiseren die authenticatie vereisen, zonder onderbreking. Het vergemakkelijkt niet-interactieve wachtwoordverificatie.
SFTP-script om bestanden over te brengen in Linux met wachtwoord
hier zijn de stappen om bestanden over te brengen in Linux met wachtwoord
stel SSH wachtwoord
open terminal en voer het volgende commando uit om uw SSH wachtwoord in te stellen. Vervang uw-password-hier met uw SSH-wachtwoord.
export SSHPASS=your-password-here
Transfer file in Linux
voer het volgende commando uit om bestanden in Linux over te zetten. Vervang gebruiker door uw SFTP gebruikersnaam, remote-host met uw SFTP host adres, / gegevens met de locatie van de externe map, en uw-bestand.log in met uw bestandsnaam die u wilt overbrengen.
sshpass -e sftp -oBatchMode=no -b - sftp-user@remote-host << ! cd /data put your-file.log bye!
u kunt de bovenstaande twee commando ‘ s toevoegen aan uw shellscript-bestand om uw SFTP-script bestanden te laten overbrengen met behulp van een wachtwoord.
alternatieve manier
u kunt ook de SSH-copy-functie gebruiken om hetzelfde te doen. In deze aanpak moet u een publieke sleutel voor uw client maken en deze publieke sleutel toevoegen aan uw externe server. Zodra u dat doet, zal de externe server altijd uw publieke sleutel gebruiken en stoppen met het vragen om een wachtwoord.
open terminal en voer het volgende commando uit om een publieke sleutel voor uw client te maken.
ssh-keygen
u krijgt 3 vragen, druk op enter-toets voor elke prompt. Dit zal uw publieke sleutel genereren.
voer het volgende commando uit om uw publieke sleutel naar uw remove SFTP-server te kopiëren. Vervang remote-host door het host-IP-adres van uw SFTP-server.
ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
u wordt gevraagd de sleutel van de host op afstand te openen/af te wijzen. Druk op Y yo accepteer het. Vervolgens wordt u gevraagd om het wachtwoord van uw externe server in te voeren. Voer het in om met succes uw publieke sleutel toe te voegen aan de lijst met geaccepteerde publieke sleutels van de externe server. U zult in staat zijn om het te vinden in .SSH / authorized_key-bestand.
voortaan wordt u niet om een wachtwoord gevraagd tijdens het gebruik van scp, ssh of sftp.
in dit artikel hebben we gekeken naar twee verschillende manieren om bestanden over te brengen met SFTP.
lees ook:
hoe een tekenreeks om te keren in Python
hoe verbinding te maken met de PostgreSQL-Database met behulp van Python
hoe Snap In Ubuntu
verwijderen Hoe willekeurige Records te selecteren in MySQL
recursief Mapeigenaar wijzigen in Linux