Odpowiedzi:
Zasadniczo uwzględnienie hasła w wierszu poleceń jest uważane za zagrożenie dla bezpieczeństwa, ponieważ będzie widoczne dla każdego, kto może uruchomić ps / top, i może zostać zapisane w historii twojej powłoki.
Jeśli to możliwe, byłoby znacznie lepiej skonfigurować uwierzytelnianie oparte na kluczach.
Nie wierzę też, że będzie to możliwe dzięki sftp. Jest przeznaczony do bezpiecznego przesyłania. Jeśli naprawdę musiałeś zrobić coś takiego i nie masz innego wyboru, prawdopodobnie powinieneś spojrzeć na automatyzację z oczekiwaniem .
Jak wspomnieli inni, hasło wiersza polecenia powinno być ostatecznością.
Jeśli jednak nic innego nie jest możliwe; można przejść na ssh pass
sshpass -p <password> sftp user@host
brew search sshpass
- „Nie dodamy sshpass, ponieważ zbyt początkującym użytkownikom SSH zbyt łatwo psuje bezpieczeństwo SSH”.
Wystarczy użyć Perla, Ruby lub Pythona, aby napisać skrypt, co próbujesz zrobić. W przypadku ruby jest to po prostu (wzięte z dokumentów API net-sftp):
require 'net/sftp'
Net::SFTP.start('host', 'username', :password => 'password') do |sftp|
# upload a file or directory to the remote host
sftp.upload!("/path/to/local", "/path/to/remote")
end
Aby uzyskać więcej informacji http://net-ssh.rubyforge.org/sftp/v2/api/index.html
Jak podają inne odpowiedzi, użyj uwierzytelniania za pomocą klucza publicznego. Istnieje świetna, choć nieco przestarzała, seria IBM developerWorks, która powinna wyjaśniać wszystko, co chcesz o niej wiedzieć, a także kilka przydatnych narzędzi uzupełniających, takich jak pęku kluczy.
W przypadku osób, które nie dbają o to, aby hasło było widoczne w wierszu polecenia:
sftp userid:password@remoteHost
jest jak dołączyć hasło do sftp
polecenia połączenia.
AKTUALIZACJA: okazało się to niepoprawne ... patrz komentarze
Podejrzewam, że jest tyle odpowiedzi, ile klientów FTP. Serwer SFTP nie powinien akceptować informacji uwierzytelniających, dopóki nie zostanie ustanowione szyfrowanie, aby użytkownik i hasło były chronione.
Wierzę, że klient FileZilla pozwoli na przekazanie użytkownika i hasła w wierszu poleceń. Zobacz dokumentację tutaj . Biorąc pod uwagę reputację projektu FileZilla, oczekiwałbym, że będzie działać bezpiecznie.