xshell密钥登录linux(这种验证方式比较安全)

首先生成密钥:工具→新建用户生成密钥导向

xshell怎么导入私钥文件 xshell私钥登录_重启

密钥类型:RSA   密钥长度:2048,下一步

xshell怎么导入私钥文件 xshell私钥登录_xshell怎么导入私钥文件_02

提示你正在生成公钥和私钥对,下一步

xshell怎么导入私钥文件 xshell私钥登录_xshell怎么导入私钥文件_03

这个就是生成的公钥,保存起来,待会要用,点击完成。

xshell怎么导入私钥文件 xshell私钥登录_xshell怎么导入私钥文件_04

你的私钥,点击关闭

xshell怎么导入私钥文件 xshell私钥登录_配置文件_05


接下来以用户名密码的方式先登录系统,做如下配置:

1. #先确保你在用户家目录里,使用pwd查看,我是root登录,所以在/root下。
2. #再一个就是查看你的家目录下有没有.ssh隐藏目录,有的话直接进入,没有的话新建一个。
3.  
4. mkdir .ssh
5. #新建.ssh目录
6.  
7. chmod 700 .ssh
8. #赋予.ssh目录700权限
9.  
10. cd .ssh
11. #进入.ssh目录
12.  
13. touch authorized_keys
14. #新建一个authorized_keys文件
15.  
16. chmod 600 authorized_keys
17. #赋予authorized_keys文件600权限
18.  
19. vi authorized_keys
20. #使用vi编辑它
 
 
 按i键进入编辑模式,把刚才Xshell生成的公钥黏贴进去,保存并退出。
1. vi /etc/ssh/sshd_config
2. #编辑sshd的配置文件
3.  
4. 把下面两句前面的#号去掉
5. PubkeyAuthentication yes
6. AuthorizedKeysFile.ssh/authorized_keys
7.  
8. 把yes改成no
9. PasswordAuthenticationno
10.  
11. 最后保存并退出。
12.  
13. service sshd restart
14. #重启sshd服务
15.  
16. PS:如果你想禁止root远程登录,就把#PermitRootLogin yes这句去掉#号改成no即可

修改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 






open 新建一个连接,输入主机ip后:

xshell怎么导入私钥文件 xshell私钥登录_linux_06


这样的话就直接每次登陆了

也可以新建一个连接,输入ip,确定,弹出这样会话框:

xshell怎么导入私钥文件 xshell私钥登录_配置文件_07


xshell怎么导入私钥文件 xshell私钥登录_重启_08


就OK



注: 

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

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

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



关闭防火墙(两种防火墙):不关闭密钥是不能够成功的

selinux  netfilter(iptables)对应命令为后者 

解决办法:

先关闭selinux:  setenforce 0  此命令只能临时关闭

永久关闭需要更改配置:vi /etc/selinux/config

xshell怎么导入私钥文件 xshell私钥登录_xshell怎么导入私钥文件_09


之前关闭过临时这里就关闭了,不然得重启



关闭netfilter:   iptables -F  这个也是临时的清除,这样服务器重启后还得加载

service iptables save  这个命令保存到配置文件中,更改了防火墙规则