随笔-49  评论-67  文章-27  trackbacks-0

通过 SSH 协议可以远程登录访问和控制 Linux 系统。其中, SSH2-openSSH 支持基于口令和基于公共密钥的两种认证方式。常用的 SSH 客户端软件,如 Xmanager 和 SecureCRT 都提供了对两种认证方式的支持。

基于口令的认证,需要在用户每次登录的时候都输入用户名和口令,显得比较麻烦。而基于公共密钥的认证,只需要在第一次输入密钥口令,就可以不需要再次输入,使用起来比较方便。

下面,针对 Xmanager 提供的 Xshell 对基于公共密钥的认证方法的配置进行介绍。

生成非对称的密钥

首先,需要在 Xshell 中生成公钥 - 私钥对。如图所示,打开密钥生成向导。

根据向导,选择密钥类型和密钥长度。之后,选择"下一步"继续。

经过一段时间,系统会自动生成一个公钥 - 私钥对,选择"下一步"继续。

接下来,系统会提示输入该密钥对的名字,以及加密该密钥的口令。当两次输入的口令一致之后,"下一步"和"完成"按钮被激活。此时,可以选择"完成"退出向导;也可以选择"下一步"继续。

下一步中,用户可以将生成的公钥保存到一个文件中,以备日后使用。

之后,选择"完成",退出该向导。接下来,用户可以在用户密钥管理器中看到刚才创建的密钥" id_dsa_1024

向 Linux 系统中导入用户公钥

为此,需要用户首先通过口令方式登录 Linux 系统。之后,在 Xshell 的工具栏上选择" New File Transfer "按钮,打开 Xftp 。

Xftp 将提示用户输入当前用户的口令。输入后,将可以从本地向 Linux 服务器传送文件。

通过这种方式,将刚刚生成的文件传送到 Linux 服务器上。之后,在需要使用 SSH 登录 Linux 系统用户的 HOME 目录下创建 .ssh 文件夹,将刚刚传递到 Linux 系统上的 id_dsa_1024.pub 文件放入 .ssh 目录下,并将该文件重命名为 authorized_keys2 。最后,将 .ssh 目录和 authorized_keys2 文件的属性修改其它组和用户不能写。具体命令,如下所示:

suse:~ # mkdir .ssh

suse:~ # mv id_dsa_1024.pub .ssh/authorized_keys2

suse:~ # chmod go-w .ssh .ssh/authorized_keys2

配置用使用公共密钥进行登录

最后,修改登录用户属性,如下图所示:

将登录方法修改为" Public Key ",并在下拉列表中选择用户登录时使用的密钥 id_dsa_1024 ,并输入该密钥的加密代码。点击"确定"完成修改。

之后,用户登录系统时就不需要多次输入登录口令了。

posted on 2008-06-22 02:52 思考 阅读(5054) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: