省时省力—在Linux系统上进行自动备份(3)
文章作者 100test 发表时间 2007:03:14 16:33:00
来源 100Test.Com百考试题网
在检验您的帐号现在可以使用新的口令而不是原来的密码来访问远程的服务器时,使用 -v 或 verbose 标记选项来显示调试信息。调试输出除了能让您在一个高的层面上观察到认证过程是如何工作的之外,还可以显示出您可以以其他方式无法得到的重要信息。在以后的连接中您可能并不需要指定 -v 标记;但是在测试连接时它相当有用。
使用 ssh-agent 自动化机器访问
ssh-agent 程序如同一个看门人,它根据需要安全地提供对安全密钥的访问。ssh-agent 启动后,它就会在后台运行,并且可以由 ssh 和 scp 程序等其他 OpenSSH 应用程序所使用。这就使得 ssh 程序可以请求一个已经解密了的密钥,而不是在每次需要时向您询问私钥的安全口令。
让我们来仔细研究一下 ssh -agent。ssh-agent 运行时它会输出 shell 命令:
[offsite]$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-XX1O24LS/agent.14179. export SSH_AUTH_SOCK.
SSH_AGENT_PID=14180. export SSH_AGENT_PID.
echo Agent pid 14180. |
清单 7. ssh-agent 应用
我们可以使用 shell 的 eval 命令来让 shell 执行 ssh-agent 显示的输出命令:
[offsite]$ eval `ssh-agent`
Agent pid 14198 |
eval 命令告诉 shell 去评价(执行)ssh-agent 程序生成的命令。确保您指定的是反引号(`)而不是单引号!执行后,eval `ssh-agent` 语句将返回代理的进程标识符。在幕后,SSH_AUTH_SOCK 和 SSH_AGENT_PID shell 变量已经被导出而可以使用。您可以将它们显示在 shell 控制台中来查看它们的值:
[offsite]$ echo $SSH_AUTH_SOCK
/tmp/ssh-XX7bhIwq/agent.14197 |
$SSH_AUTH_SOCK (SSH Authentication Socket 的缩写)是一个本地套接字的位置,应用程序可以通过它来与 ssh-agent 通信。将 eval `ssh-agent` 语句加入到您的 ~/.bash_profile 文件以确保 SSH_AUTH_SOCK 和 SSH_AGENT_PID 始终被注册。