我们有一个异地热备用备份主机,我希望使用 imapsync 定期同步我们的 imap 服务器。我想知道是否可以对 --authuser1 到 --authuser2 登录使用 RSA 证书身份验证。如果我通过 ssh 使用 rsync,那么这不会造成问题。但通过 imapsync 连接到 cyrus-imap 有点复杂。
如果不是,那么在脚本中迭代运行时将 authuser 密码传递给 imapsync 命令的推荐方法是什么?
答案1
在当前的 imapsync 版本 1.607 中,无法使用命令行开关为 ssl 或 tls 连接模式添加证书。我可能会在将来添加它,我刚刚将此请求放入 TODO 文件中。无论如何,现在应该很容易以直接的方式破解它,imapsync 是免费软件,并在函数“set_ssl”中传递您需要的任何内容。然后所有内容都会传递给底层 Mail::IMAPClient perl 模块。有关此信息,请参阅 perldoc Mail::IMAPClient。
在 imapsync 版本 1.678 及更高版本中,可以传递任何 ssl 参数,因此可以通过这种方式使用证书。
--sslargs1 str : Pass any ssl parameter for host1 ssl or tls connection. Example:
--sslargs1 SSL_verify_mode=1 --sslargs1 SSL_version=SSLv3
--sslargs2 str : Pass any ssl parameter for host2 ssl or tls connection.
请参阅 IO::Socket::SSL 的 new() 方法中的所有可能性http://search.cpan.org/perldoc?IO::Socket::SSL#Description_Of_Methods
要在 imapsync 中以安全的方式传递密码,请使用 --passfile1 secretfile 并将 secretfile 文件的权限更改为 600。添加到 ssl 或 tls 连接后,其安全性不会低于存储在同一 Unix 帐户中的私钥文件。