对于 bash 安装脚本,我需要使用 sftp 下载文件。执行此操作时,将打开 gnome 密钥环提示符。可以通过对 .bashrc 等进行一些更改来避免这种情况。
但由于我的脚本应该在任何机器上运行而无需更改设置,所以我需要一个可以避免密钥环查找的解决方案。有人能帮忙吗?
答案1
这不是一个答案,但评论部分的空间有限,可能会让您走上正确的道路。
可以通过对 .bashrc 进行一些更改来避免这种情况
这令人担忧。
- 你断言这是可能的,但你没有提供任何细节说明这些变化是什么,也没有说明你为什么认为是这样
- 如果可以在 .bashrc 中更改行为,那么在脚本中更改行为也同样容易
您没有告诉我们您使用的是哪个 sftp 客户端。这当然不是 Openssh sftp 的默认行为(您没有说明您使用的是哪个客户端),但当您在命令行中键入“sftp”时,在移交给实际的 sftp 客户端之前可能会发生其他事情。您可能需要检查which sftp
和的输出alias sftp
。
再次,假设这是 openssh,那么该行为可能通过 SSH_ASK_PASS shell 变量实现(启动终端仿真器并echo $SSH_ASK_PASS
检查)。如果是这种情况,那么您只需要在 shell 脚本中将变量设置为空白即可。
密钥环也可能由 ssh_config 激活为辅助程序。如果是这种情况,则配置将位于 /etc/ssh/ssh_config 中的某个位置或其中包含的文件中,具体取决于您正在运行的 Linux 发行版(您没有说)。可以在脚本中的 sftp 命令行上覆盖此配置。