以下是我当前的设置:
- 从 Windows 连接到 Ubuntu 服务器(我们称之为服务器)
- 做一些有趣的事情。
- 将文件从服务器 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。