Sftp-skript för att överföra filer i Linux med lösenord
SFTP låter dig säkert överföra filer i Linux. Men ibland kan du behöva överföra filer automatiskt med SFTP. I sådana fall kan lösenordsprompten utgöra ett hinder. I den här artikeln kommer vi att titta på hur man skapar ett SFTP-skript för att överföra filer i Linux, med lösenord. Du måste använda ett tredjepartsbibliotek som keychain, sshpass eller expect som automatiskt levererar ditt SFTP-lösenord för att förenkla ditt liv. För vår artikel kommer vi att använda SSHpass. Vi kommer också att titta på hur du ställer in snabblös lösenordsautentisering utan att använda SSHpass, med ssh-copy.
Vad är SSHpass
SSHPass är ett enkelt kommandoradsverktyg som låter dig tillhandahålla lösenord till kommandotolken och skript så att du kan automatisera uppgifter som kräver autentisering utan avbrott. Det underlättar icke-interaktiv lösenordsautentisering.
SFTP-skript för att överföra filer i Linux med lösenord
här är stegen för att överföra filer i Linux med lösenord
Ställ in SSH-lösenord
Öppna terminal och kör följande kommando för att ställa in ditt SSH-lösenord. Byt ut ditt-lösenord-här med ditt SSH-lösenord.
export SSHPASS=your-password-here
Överför fil i Linux
kör följande kommando för att överföra filer i Linux. Ersätt användaren med ditt SFTP-användarnamn, fjärrvärd med din SFTP-värdadress, / data med fjärrmappsplatsen och din-fil.logga med ditt filnamn som du vill överföra.
sshpass -e sftp -oBatchMode=no -b - sftp-user@remote-host << ! cd /data put your-file.log bye!
du kan lägga till ovanstående två kommandon till din skalskriptfil för att få ditt SFTP-skript att överföra filer med lösenord.
alternativt sätt
du kan alternativt använda SSH-kopieringsfunktionen för att göra samma sak. I detta tillvägagångssätt måste du skapa en offentlig nyckel för din klient och lägga till den här offentliga nyckeln på din fjärrserver. När du gör det kommer fjärrservern alltid att använda din offentliga nyckel och sluta fråga dig om lösenord.
Öppna terminal och kör följande kommando för att skapa offentlig nyckel för din klient.
ssh-keygen
du kommer att bli uppmanad 3 frågor, tryck bara på enter-tangenten för varje prompt. Detta kommer att generera din offentliga nyckel.
kör följande kommando för att kopiera din offentliga nyckel till din remove SFTP-server. Ersätt remote-host med din SFTP-serverns värd IP-adress.
ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
du kommer att uppmanas att komma åt/avvisa fjärrvärdens nyckel. Tryck på Y yo acceptera det. Därefter kommer du att bli ombedd att ange din fjärrservers lösenord. Ange den för att framgångsrikt lägga till din offentliga nyckel till fjärrserverns lista över godkända offentliga nycklar. Du kommer att kunna hitta den i .SSH / authorized_key fil.
hädanefter kommer du inte att bli ombedd att ange lösenord när du använder scp, ssh eller sftp.
i den här artikeln har vi tittat på två olika sätt att överföra filer med SFTP.
Läs också:
hur man omvänd sträng i Python
hur man ansluter till PostgreSQL-databasen med Python
hur man tar bort Snap i Ubuntu
hur man väljer slumpmässiga poster i MySQL
hur man rekursivt ändrar Katalogägare i Linux