Risposte:
Generalmente includere una password in una riga di comando è considerato un rischio per la sicurezza perché verrà mostrato a chiunque sia in grado di eseguire ps / top e potrebbe essere salvato nella cronologia della shell.
Sarebbe molto meglio impostare l'autenticazione basata su chiave, se possibile.
Inoltre, non credo che sarà possibile con sftp. È pensato per essere utilizzato per trasferimenti sicuri. Se davvero si doveva fare qualcosa di simile e non avete altra scelta allora probabilmente bisogno di essere alla ricerca di automatizzare con aspettarsi .
Come altri hanno già detto, una password della riga di comando dovrebbe essere l'ultima risorsa.
Tuttavia, se nient'altro è possibile; si può andare per ssh pass
sshpass -p <password> sftp user@host
brew search sshpass
- "Non aggiungeremo sshpass perché rende troppo facile per gli utenti principianti SSH rovinare la sicurezza di SSH."
Non farlo: imposta l'autenticazione con chiave pubblica SSH per l'accesso automatico.
Usa solo perl, ruby o python per scrivere ciò che stai cercando di fare. In caso di ruby è solo (preso dai documenti 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
Per maggiori informazioni http://net-ssh.rubyforge.org/sftp/v2/api/index.html
Come hanno affermato le altre risposte, utilizzare l'autenticazione con chiave pubblica. Esiste una serie IBM DeveloperWorks eccezionale, anche se un po 'datata, che dovrebbe spiegare tutto ciò che vuoi sapere al riguardo, nonché alcuni utili strumenti supplementari come il portachiavi.
Per i ricercatori che non si preoccupano che la password sia visibile nel comando da riga di comando:
sftp userid:password@remoteHost
è come includere la password nel sftp
comando connect.
AGGIORNAMENTO: questo si è rivelato errato ... vedi commenti
Sospetto che ci siano tante risposte quanti sono i client FTP. Un server SFTP non dovrebbe accettare le informazioni di autenticazione fino a quando non viene stabilita la crittografia, in modo che l'utente e la password siano protetti.
Credo che la FileZilla cliente consentirà a riga di comando che passa del utente e la password .. vedere la documentazione qui . Data la reputazione del progetto FileZilla, mi aspetto che funzioni in modo sicuro.