linux - SFTP 连接问题与密码

标签 linux shell unix ftp sftp

我正在运行此脚本以在本地复制模式文件,但它要求输入密码,甚至传递硬编码值。

脚本:

PASSWORD="xyz"

sftp -oport=1002 user@host:/dir/archive/file*.txt /di/data/
<< EOF

$PASSWORD

quit

EOF

出现错误:

-bash-4.1$ sh sftp_with_password.sh
Connecting to user@host...
Password Authentication

最佳答案

expect脚本可以完成这项工作。

例如copy-sftp.exp:

#!/usr/bin/expect
set password [lindex $argv 0]
spawn sftp -oport=1002 user@host:/dir/archive/file*.txt /di/data/
expect "Password"
send "$password\r"
send "quit\r"

然后就可以执行了:

expect copy-ftp.exp $PASSWORD

关于linux - SFTP 连接问题与密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49794244/

相关文章:

linux - 了解内核补丁提交检查表?与测试补丁有关?

c - 从多线程进程调用 system(3) 是否安全?

linux - Linux Pipe命令是否需要一个进程来执行?

bash - 使用 WGET 模拟 Web 事件

Shell:将 ssh 命令结果保存到本地变量

linux - 从 shell 脚本将假脱机文件的名称传递给 sqlplus

linux - "All"和 "Bot"在 vi​​m 状态行中意味着什么?

linux - 不同的 perl verions 不共享安装的 rpms

hibernate - 尝试从 shell 使用 grails 域类

arrays - awk程序检查每行是否有 '0'