通过
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) 编辑 收藏