随笔-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 思考 阅读(5009) 评论(0)  编辑  收藏

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


网站导航: