1、打开Xshell界面,中文界面方便操作,菜单栏:工具——新建用户密钥生成向导
<a href="http://s3.51cto.com/wyfs02/M02/5B/23/wKiom1T_96Lh0MukAAGmLnY_6Ek825.jpg" target="_blank"></a>
2、密钥类型选择RSA,密钥长度选择2048位,单击下一步继续;
<a href="http://s3.51cto.com/wyfs02/M00/5B/1D/wKioL1T_-MjzbCamAAF6cYIAgDQ459.jpg" target="_blank"></a>
3、很快生成公钥对,单击下一步继续;
<a href="http://s3.51cto.com/wyfs02/M01/5B/24/wKiom1T_97KiVbm3AAGPOY4cPVU817.jpg" target="_blank"></a>
4、密钥名称可以自定义,起一个自己理解的名称,或者保持默认,输入密钥加密的密码,用于远程登录;
5、将生成的公钥复制一份,或保存为文件,完成密钥生成。
<a href="http://s3.51cto.com/wyfs02/M02/5B/1D/wKioL1T_-OHwEmzFAAH2z5ENGW4930.jpg" target="_blank"></a>
6、复制生成的公钥到远程linux里面 /root/.ssh/authorized_keys 文件中。如果没有.ssh目录,需要自己建立一个,并更改目录权限为700
粘贴公钥的内容,保存退出。
用户生成的密钥在菜单栏:工具——用户密钥管理者 里面保存,可以查看属性;
<a href="http://s3.51cto.com/wyfs02/M02/5B/24/wKiom1T_98yibpbHAAGXzYA4OLc296.jpg" target="_blank"></a>
7、关闭远程linux防火墙,千万不要漏掉这一部分;
永久关闭selinux
#vi /etc/selinux/config #修改selinux的配置文件
更改“SELINUX=enforcing”为 SELINUX=disabled 保存退出。
SELinux status: disabled
关闭防火墙
iptables:将防火墙规则保存到 /etc/sysconfig/iptables: [确定]
8、新建一个窗口,名称写一个方便标示的,主机填写远程linux的ip地址;
<a href="http://s3.51cto.com/wyfs02/M00/5B/1D/wKioL1T_-PSTpRvXAAH6jfBmnQ4545.jpg" target="_blank"></a>
9、点击左侧用户身份验证,方法下拉菜单里面选择Public Key,用户名为root,用户密钥下拉菜单选择之前生成的密钥,或者浏览里面选择,密码填写生成密钥时设置的密码,点击连接就可以远程访问linux了。
10、Xshell密钥登录后界面和普通密码登录一样,可以查看登录日志查询是通过密钥认证登录的。
日志cat /var/log/secure
Mar 11 20:25:29 localhost sshd[1952]: Accepted publickey for root from 192.168.20.1 port 53029 ssh2
Mar 11 20:25:29 localhost sshd[1952]: pam_unix(sshd:session): session opened for user root by (uid=0)
Accepted publickey说明是以密钥身份登陆进来的。
本文转自 模范生 51CTO博客,原文链接:http://blog.51cto.com/mofansheng/1619390,如需转载请自行联系原作者