skrypt SFTP do przesyłania plików w Linuksie z hasłem
SFTP pozwala na bezpieczne przesyłanie plików w Linuksie. Ale czasami może być konieczne automatyczne przesyłanie plików za pomocą protokołu SFTP. W takich przypadkach monit o hasło może stanowić przeszkodę. W tym artykule przyjrzymy się, jak utworzyć skrypt SFTP do przesyłania plików w Linuksie, z hasłem. Będziesz musiał użyć biblioteki innej firmy, takiej jak pęk kluczy, sshpass lub oczekiwać, że automatycznie dostarczy hasło SFTP, aby uprościć swoje życie. W naszym artykule będziemy używać SSHpass. Przyjrzymy się również, jak skonfigurować uwierzytelnianie hasłem bez użycia sshpass, używając SSH-copy.
Co To jest SSHpass
sshpass to proste narzędzie wiersza poleceń, które pozwala na podawanie haseł do wiersza poleceń i skryptów, dzięki czemu można zautomatyzować zadania wymagające uwierzytelniania, bez przerw. Ułatwia nieinteraktywne uwierzytelnianie haseł.
skrypt Sftp do przesyłania plików w Linuksie z hasłem
oto kroki, aby przesłać pliki w Linuksie z hasłem
Ustaw hasło SSH
Otwórz terminal i uruchom następujące polecenie, aby ustawić hasło SSH. Zastąp-password-tutaj swoim hasłem SSH.
export SSHPASS=your-password-here
Przenieś plik w systemie Linux
uruchom następujące polecenie, aby przesłać pliki w systemie Linux. Zamień user na nazwę użytkownika SFTP, remote-host na adres hosta SFTP, / data na lokalizację folderu zdalnego i plik.Zaloguj się z nazwą pliku, który chcesz przesłać.
sshpass -e sftp -oBatchMode=no -b - sftp-user@remote-host << ! cd /data put your-file.log bye!
możesz dodać powyższe dwie komendy do pliku skryptu powłoki, aby uzyskać skrypt SFTP do przesyłania plików za pomocą hasła.
alternatywny sposób
możesz alternatywnie użyć funkcji kopiowania ssh, aby zrobić to samo. W tym podejściu musisz utworzyć klucz publiczny dla swojego klienta i dodać ten klucz publiczny na zdalnym serwerze. Gdy to zrobisz, zdalny serwer zawsze będzie używał Twojego klucza publicznego i przestanie cię pytać o hasło.
Otwórz terminal i uruchom następujące polecenie, aby utworzyć klucz publiczny dla klienta.
ssh-keygen
zostaniesz poproszony o 3 pytania, po prostu naciśnij klawisz enter dla każdego monitu. Spowoduje to wygenerowanie klucza publicznego.
uruchom następujące polecenie, aby skopiować klucz publiczny na serwer Usuń SFTP. Zastąp remote-host adresem IP hosta serwera SFTP.
ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
zostaniesz poproszony o dostęp/odrzucenie klucza zdalnego hosta. Zaakceptuj to. Następnie zostaniesz poproszony o podanie hasła serwera zdalnego. Wprowadź go, aby pomyślnie dodać klucz publiczny do listy akceptowanych kluczy publicznych serwera zdalnego. Będzie można go znaleźć w .plik SSH / authorized_key.
od tej pory nie zostaniesz poproszony o podanie hasła podczas korzystania z scp, ssh lub sftp.
w tym artykule przyjrzeliśmy się dwóm różnym sposobom przesyłania plików za pomocą protokołu SFTP.
czytaj także:
jak odwrócić ciąg znaków w Pythonie
jak połączyć się z bazą danych PostgreSQL za pomocą Pythona
jak usunąć Snap w Ubuntu
jak wybrać losowe rekordy w MySQL
jak rekurencyjnie zmienić właściciela katalogu w Linuksie