如何在没有密码提示的情况下进行 scp 并且不存储私钥

如何在没有密码提示的情况下进行 scp 并且不存储私钥

以下是我当前的设置:

  1. 从 Windows 连接到 Ubuntu 服务器(我们称之为服务器)
  2. 做一些有趣的事情。
  3. 将文件从服务器 1 发送到另一个 Ubuntu 盒子(该盒子)。

我曾经在服务器上存储私钥,以便进行无密码提示的 scp,但我被告知不允许在服务器上保留私钥。这引出了我的问题:

编辑:我应该注意,我将为大多数 scp 进程设置一个 cronjob。

如何在不使用私钥或 stdin 方法的情况下进行无密码提示的 scp,如此线程所示: https://stackoverflow.com/questions/3872200/passing-the-password-as-a-parameter-in-a-scp-command

ps 这并不是首选方法,但有人建议使用 ssh 代理转发来实现这一点,但我无法理解这是什么,以及它在我的处境中如何适用。

答案1

你可以使用控制主机进行 ssh。在你的配置文件中创建 2 个条目,例如

主机 box-master ControlMaster 是 ControlPath $HOME/.ssh/ctrl_path ...

主机框-从属控制路径 $HOME/.ssh/ctrl_path 其他一切都应该相同

使用您的密码 ssh 进入 box-master。

您应该能够在没有密码的情况下通过 ssh/scp 进入 box-slave - 直到您退出 box-master。

如果您可以登录但需要执行大量 ssh/scps 并且不想不断地重新输入密码,这很有用。

如果你的目的是进行大量 scps,这也可能增加传输速度。你可能应该这样做以加快速度。

然而从安全角度来看,它不如使用钥匙。

您可以将两者结合使用。在密钥上输入密码,然后使用该密码登录 box-master。系统会提示您输入密钥密码。然后,您无需输入密码或密码即可登录 box-slave。

相关内容