认证转发提供了许多在此没有提到的安全性优点。为了让我相信代理程序连接转发的重要性,Charles Karney 与我分享了以下三个安全性优点:
私钥只存储在可信机器上。这样防止怀有恶意的用户从磁盘获取加密的密钥并防止他们试图解加密。 ssh-agent 只运行在可信机器上。这样防止闯入者进行远程 ssh-agent 进程的内存转储并从转储中抽取出您的解密私钥。 由于您只需要在可信机器上输入密码,所以防止了任何击键记录器在您输入密码时悄悄地截取密码。使用认证代理程序连接转发的一个缺点是:它不能解决允许 cron 作业利用 RSA/DSA 认证这个问题。解决这个问题的一个方案是设置所有需要 RSA/DSA 认证的 cron 作业,这样它们就可以从局域网中的一台可信机器上执行。如果需要的话,这些 cron 作业能使用 ssh 连接到远程系统来实现自动备份、使文件同步等操作。
既然我们已经了解了认证代理程序连接转发,那么让我们转到近期对 keychain 脚本本身所做的改进上。
感谢用户发来补丁程序,许多重要的改进已添加到 keychain 源码中。 用户提交的 keychain 补丁程序中有几个与功能有关。例如,您应记得 keychain 创建了一个 ~/.ssh-agent 文件;这个文件的名字现在已经改为 ~/.ssh-agent-[hostname],这样 keychain 可以使用从几个不同物理主机上能访问已挂装 NFS 的主目录。除了 ~/.ssh-agent-[hostname] 文件外,现在还有一个 ~/.ssh-agent-csh-[hostname] 文件,兼容 csh 的 shell 利用 source 命令读入并执行该文件。最后,添加了一个新的 --nocolor 选项,这样,如果您碰巧在使用不兼容 vt100 的终端时,就能禁用彩色化功能部件。