【问题标题】:Auto input user and password to connect to an SFTP server自动输入用户名和密码以连接到 SFTP 服务器
【发布时间】:2019-11-02 11:03:26
【问题描述】:

在 Windows 10 上运行 Ubuntu 18.04

目标 - 连接到指定的 SFTP 服务器,无需手动输入任何密码。

问题 - 我正在尝试连接到 sftp 服务器以访问文件。但是,一旦连接,我必须手动输入密码。由于我使用多个用户凭据登录到服务器,这使得从服务器下载文件非常耗时,因为我每次都必须登录。

我尝试了以下但没有成功。

curl sftp://sftp.host.com:/csv -u user:pwrd - 发现 curl 不支持 SFTP

sftp user@sftp.host.com:/csv - 我连接了这个但是我每次都必须手动输入密码。

ssh sftp.host.com:/csv - 无法获取主机名以重新识别和连接。还在这里尝试了 user@sftp.host.com:/csv 。我阅读了有关如何使用 shh 密钥进行身份验证以避免密码的信息,但是如果我必须提供多个用户登录(100+),那么首先创建和放置这些密钥是否会花费大量时间地点。

对于sftp 版本,我想也许这可以做到echo pwd | user@sftp.host.com:/csv,如果我使用sleep 命令我可以延迟输入,所以它会在之后输入密码。也试过sftp user@sftp.host.com:/csv | { print pwrd}。然而,根据命令行的工作方式,两者似乎都不可能。

有人可以确认如果curl 实际上是正确的方法,并且有一个技巧可以让 sftp 得到支持。也许sftp 是要走的路,我只是在输入错误的密码。还是ssh 我应该做什么,并且有一种简单的方法来生成和放置多个密钥(尽管我仍然需要进行初始登录,所以这似乎只是我的问题之后的一步)?或者还有什么我不知道的?

【问题讨论】:

    标签: curl ssh command-line command-line-interface sftp


    【解决方案1】:

    用 lftp 创建了一个脚本

    SFTP_SERVER="sftp.host.com:/csv" SFTP_USER="user" SFTP_PWD="pwd"

    lftp sftp://$SFTP_USER:$SFTP_PWD@$SFTP_SERVER

    运行此脚本使我不必手动输入密码,但*.csv 命令似乎在其中不起作用,因此如果您想使用get *.csv,您将无法下载所有文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-29
      • 2013-08-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-26
      • 1970-01-01
      • 1970-01-01
      • 2021-12-29
      相关资源
      最近更新 更多