从Unix脚本运行sftp命令时禁用密码提示
问题描述:
我可以从Unix shell脚本运行sftp脚本。从Unix脚本运行sftp命令时禁用密码提示
但它提示连接服务器的密码。
如何在unix shell脚本的sftp命令中配置密码,使得该文件可以在没有人为干预的情况下进行传输。
我的脚本如下。
/usr/bin/sftp ${USER}@${HOST} <<EOF
cd ${PATH}
mput *.csv
quit
EOF
答
您必须在unix中生成id_rsa。
脚本生成id_rsa:
ssh-keygen -t rsa
或访问此链接:http://www.electrictoolbox.com/article/linux-unix-bsd/create-rsa-dsa-keys-ssh/
答
而不是使用SFTP命令的,你应该使用的lftp命令。使用此命令,您可以使用-u选项给您的密码提供选项,并使用选项-e运行远程命令,只需一个命令行,这非常容易在脚本中执行。
[如何为SCP或SFTP自动输入密码以使其自动化](http://unix.stackexchange.com/questions/26480/how-to-auto-type-password-for-scp-or-sftp-自动化),希望这会对你有所帮助 – poiu2000 2013-03-28 08:35:21
谢谢..但上面的链接并没有真正服务于我的目的。 “产卵”和“期望”都没有奏效。没有其他方式通过脚本提供密码吗? ftp为非交互式认证提供了选项。 sftp也必须有出路。请建议。 – Suvasis 2013-03-28 19:45:31