没有密码短语的SFTP批量传输

时间:2016-04-15 16:43:18

标签: shell automation sftp

我正在尝试使用带有公钥身份验证的SFTP将一堆文件发送到服务器。如果没有shell提示输入密码,我怎么能这样做呢?

我的脚本看起来像这样:

#!/bin/bash
for f in "$@"
do
  sftp USER@HOST << DELIMITER
   cd DIR
   put $f
   quit
DELIMITER

done

1 个答案:

答案 0 :(得分:0)

使用ssh-agent

#!/bin/bash
eval `ssh-agent`
ssh-add /path/to/your/key

for f in "$@"
do
  sftp USER@HOST << DELIMITER
   cd DIR
   put $f
   quit
DELIMITER

done

它会将您的密钥存储在ssh-agent中,要求输入密码短语,然后将您登录到所有服务器。您也可以在脚本之外执行此操作。

相关问题