我想在 HP-UX 中建立一個腳本來使用密碼在 sftp 中發送。我有這個命令
sftp -o PasswordAuthentication=
但如果我之後回答“是”或“否”,我就會遇到“主機金鑰驗證失敗”的問題
答案1
如果您socat
方便的話,您可以使用手冊中的這個範例。
(sleep 5; echo PASSWORD; sleep 5; echo ls; sleep 1) |
socat - EXEC:'ssh -l user server',pty,setsid,ctty
EXEC’utes an ssh session to server. Uses a pty for communication
between socat and ssh, makes it ssh’s controlling tty
(ctty), and makes this pty the owner of a new process group
(setsid), so ssh accepts the password from socat.
答案2
最好使用公鑰/私鑰身份驗證,但如果您仍然想在純文字腳本中使用密碼,我會使用lftp
.這是一個很棒的客戶端,允許 ftp、sftp、ftps 連接,您只需要使用「此處文件」即可完成整個事務:
lftp sftp://your.destination.sftp -u yourUser,YourPassword << fin
get yourfile
bye
fin
答案3
您可以使用使用者名稱、密碼和 destip 嘗試下面的 sftp 腳本。
#!/usr/bin/expect
spawn sftp username@destip
expect "username@destip's password:"
send "passwd\n"
expect "sftp>"
send "get filename\n"
expect "sftp>"
send "bye\n"
答案4
Sftp 可以在沒有密碼的情況下使用
pubkey auth = very safe strong encryption
kerberos = need server,encryption is not strong
否則使用期望發送密碼,警告!使用 ps 可以看到該通行證,因此該解決方案完全不安全。