openssh 密钥管理:ssh

openssh 密钥管理:ssh

ID:9509708

大小:66.00 KB

页数:11页

时间:2018-05-01

openssh 密钥管理:ssh_第1页
openssh 密钥管理:ssh_第2页
openssh 密钥管理:ssh_第3页
openssh 密钥管理:ssh_第4页
openssh 密钥管理:ssh_第5页
资源描述:

《openssh 密钥管理:ssh》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、OpenSSH密钥管理:ssh  介绍ssh-agent  ssh-agent是专为既令人愉快又安全的处理RSA和DSA密钥而设计的特殊程序,它包括在OpenSSH分发内(请参阅本系列文章的第1部分以得到关于RSA和DSA认证的介绍)。不同于ssh,ssh-agent是个长时间持续运行的守护进程(daemon),设计它的唯一目的就是对解密的专用密钥进行高速缓存。  ssh包含的内建支持允许它同ssh-agent通信,允许ssh不必每次新连接时都提示您要密码才能获取解密的专用密钥。对于ssh-agent,您只要使用ssh-add把专用密钥添加到

2、ssh-agent的高速缓存中。这是个一次性过程;用过ssh-add之后,ssh将从ssh-agent获取您的专用密钥,而不会提示要密码短语来烦您了。  使用ssh-agent  让我们看一下整个ssh-agent密钥高速缓存系统的工作过程。ssh-agent启动时,在脱离shell(外壳程序)并继续在后台运行之前它会输出一些重要的环境变量。以下是ssh-agent开始时生成的输出的一些示例:%ssh-agentSSH_AUTH_SOCK=/tmp/ssh-XX4LkMJS/agent.26916;exportSSH_AUTH_SOCK;SS

3、H_AGENT_PID=26917;exportSSH_AGENT_PID;echoAgentpid26917;  正如您所看到的,事实上ssh-agent的输出是一系列bash命令;如果这些命令被执行,则将设置两个环境变量:SSH_AUTH_SOCK和SSH_AGENT_PID。内含的export命令使这些环境变量对之后运行的任何附加命令都可用。唔,如果shell真对这些行进行计算,这一切才会发生,但是此时它们只是被打印到标准输出(stdout)而已。要使之确定,我们可以象下面这样调用ssh-agent:eval`ssh-agent`  这

4、个命令先让bash运行ssh-agent后对ssh-agent的输出进行计算。shell以这种调用方式(使用反引号,而不是普通的单引号)设置并导出SSH_AGENT_PID及SSH_AUTH_SOCK变量,使这些变量对于您在登录会话期间启动的所有新进程都可用。  启动ssh-agent的最佳方式就是把上面这行添加到您的~/.bash_profile中;这样,在您的登录shell中启动的所有程序都将看到环境变量,而且能够定位ssh-agent,并在需要的时候向其查询密钥。尤其重要的环境变量是SSH_AUTH_SOCK;SSH_AUTH_SOCK

5、包含有ssh和scp可以用来同ssh-agent建立对话的UNIX域套接字的路径。  使用ssh-add  但是ssh-agent启动时高速缓存当然是空的,里面不会有解密的专用密钥。在我们真能使用ssh-agent之前,首先还需要使用ssh-add命令把我们的专用密钥添加到ssh-agent的高速缓存中。下面的示例中,我使用ssh-add把我的~/.ssh/identity专用RSA密钥添加到ssh-agent的高速缓存中:#ssh-add~/.ssh/identityNeedpassphrasefor/home/drobbins/.ssh/

6、identityEnterpassphrasefor/home/drobbins/.ssh/identity(enterpassphrase)  正如您所看到的,ssh-add要我的密码短语来对专用密钥进行解密并存储在ssh-agent的高速缓存中以备使用。一旦您已经用ssh-add把专用密钥(或多个密钥)添加到ssh-agent的高速缓存中,并在当前的shell中(如果您在~/.bash_profile中启动ssh-agent,情况应当是这样)定义SSH_AUTH_SOCK,那么您可以使用scp和ssh同远程系统建立连接而不必提供密码短语。

7、  ssh-agent的不足之处  ssh-agent确实棒,但是其缺省配置还是会留给我们一些小小的不便。让我们来看一下这些不足吧。  首先,~/.bash_profile中的eval`ssh-agent`使每次登录会话都会启动一个新的ssh-agent副本;这不仅仅是有一丁点儿浪费,而且还意味着您得使用ssh-add向每个新的ssh-agent副本添加专用密钥。如果您只想打开系统上的一个终端或控制台,这没什么大不了的,但是我们中大多数人打开相当多的终端,每次新打开控制台都需要键入密码短语。从技术角度讲,既然一个ssh-agent进程的确应当

8、足够了,要是我们还需这样做,这毫无道理。  有关ssh-agent的缺省设置的另外一个问题是它同cron作业不兼容。由于cron作业是cron进程启动的,这些作业无

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。