使用密码编写 SFTP 脚本 - HP-UX

使用密码编写 SFTP 脚本 - HP-UX

我想在 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 可以看到该通行证,因此该解决方案完全不安全。

相关内容