【发布时间】:2011-03-29 13:33:45
【问题描述】:
我有一个每晚的数据库备份,我想将它 scp 到远程服务器。据我所知,不能在命令中使用密码调用 scp,而是需要为服务器设置密钥?
据此:http://www.spaceprogram.com/knowledge/cron_scp.html
远程盒子的所有者不希望我设置密钥,那么您将如何通过 cron 作业将文件从一个盒子获取到另一个盒子?
谢谢。
【问题讨论】:
我有一个每晚的数据库备份,我想将它 scp 到远程服务器。据我所知,不能在命令中使用密码调用 scp,而是需要为服务器设置密钥?
据此:http://www.spaceprogram.com/knowledge/cron_scp.html
远程盒子的所有者不希望我设置密钥,那么您将如何通过 cron 作业将文件从一个盒子获取到另一个盒子?
谢谢。
【问题讨论】:
为什么远程所有者不希望您设置密钥?
密钥与密码相同,甚至更好,因为它更容易跟踪它的使用位置。毫无疑问,正确的解决方案是生成一个密钥对并将其用于无人值守身份验证。
现在,如果您确实需要在没有公钥身份验证的情况下使用 scp,您可以使用 expect 库将密码输入到 scp,或者改用 ssh 库来实现从外部调用scp 命令。无论哪种方式,您都必须设置一个供cron 使用的包装器,而不是直接调用scp。
【讨论】: