首页 > 代码库 > 利用xshell密钥管理服务器远程登录

利用xshell密钥管理服务器远程登录

1.生成公钥(Pubic Key)与私钥(Private Key):

Xshell自带有用户密钥生成向导,如下图所示:点击菜单栏的工具->新建用户密钥生成向导 

wKiom1PDZ5eQ_NIYAAGj1hpcn1g426.jpg

虽然SSH2协议中RSA和DSA算法都可以使用,但是为了保险起见,我们一般都选择RSA密钥类型,这样不论你使用的SSH协议是SSH1还是SSH2都可以使用;密钥长度1024位即

wKioL1PDaF-wAPBCAAGmdG6DOus851.jpg

正在生成密钥,直接下一步即可

wKiom1PDaPnBYcHPAAHkZv3ZUk8311.jpg

密钥名称可以随便填写,不过一般我们最好是默认名称_年月日,这样方便日后管理;一般不需要填写密钥密码,填写的话就是密钥加密码双重验证,更安全。

wKioL1PDaibzNc34AAF97UYJM2E027.jpg

公钥格式默认的SSH-OpenSSH即可,这里点击保存为文件,选择一个路径

wKiom1PDa0XjCWstAAHuamNoLTE176.jpg

文件名默认即可

wKioL1PDa_3AR7MbAAGKbtHhs-Y144.jpg

此时会弹出用户密钥的一个窗口,Xshell已经自动导入了刚才我生成的私钥,公钥已经被我保存在了桌面上(你刚才选择的文件路径)。

如果没有弹出上面的窗口,可以选择菜单栏的工具->用户密钥管理者,打开用户密钥这个窗口。

wKioL1PDjNLip35VAADw3tXeW8o180.jpg

选中刚才生成的私钥,点击右侧的导出按钮,如果换电脑或者重装系统了,重新导入私钥即可。

wKiom1PDbi3hlfYHAAEOH5XFlaM674.jpg

wKiom1PDbmuyc4NcAAFIUpcQ-2I755.jpg

如果你之前填写了密钥管理密码,这里会提示你输入密码。

wKioL1PDbrOiK24SAAC2VxRGhM8414.jpg



2.添加公钥(Pubic Key)到远程Linux服务器;

用xftp上传id_rsa_1024_20140305.pub到用户home目录下的.ssh下(如果没有则创建此目录),并命名为:authorized_keys,再修改权限为600.

mkdir -p /root/.ssh 
mv /root/id_rsa_1024_20140305.pub /root/.ssh/authorized_keys 
chmod 600 /root/.ssh/authorized_keys



wKioL1PDcguzLSQ9AAQz8adZdT4665.jpgwKioL1PDcxuiQ6DmAACr9auFWxo105.jpg


修改sshd_config配置文件

vim /etc/ssh/sshd_config 

PubkeyAuthentication yes    #启用公告密钥配对认证方式 
AuthorizedKeysFile .ssh/authorized_keys     #设定PublicKey文件路径 
RSAAuthentication yes  #允许RSA密钥 
PasswordAuthentication no #禁止密码验证登录,如果启用的话,RSA认证登录就没有意义了

重新加载sshd服务: /etc/init.d/sshd restart 



3.客户端载入私钥(Private Key)登录:

wKiom1PDh-rRY7gdAAJzQN0_YIY526.jpg

注: 

私钥,在Xshell里也叫用户密钥 

公钥,在Xshell里也叫主机密钥

“所选的用户密钥未在远程主机上注册。请再试一次。”在登陆是xshell报错,检查服务器的selinux及iptables是否开启。

本文出自 “时不待我!” 博客,请务必保留此出处http://zengweidao.blog.51cto.com/8342699/1437979