一、Secure客户端通过密钥登陆服务器:
1、Secure客户端设置
生成密钥:
![1.png wKioL1hiT2_i5IZJAABxAlPoYyA079.png-wh_50]()
点击下一步:
![2.png wKioL1hiT7iiekfsAABJRFgGaWk536.png-wh_50]()
选择加密类型:(RSA或DSA)
![3.png wKioL1hiT9iQXgGMAABRje2h-gc283.png-wh_50]()
输入密钥登陆密码,然后点击下一步:
![4.png wKiom1hiZTLwIvVHAABWQUZtToQ073.png-wh_50]()
加密长度(默认1024),下一步:
![5.png wKioL1hiZUvSMZMXAABWKz8eU3I366.png-wh_50]()
下一步:
![6.png wKiom1hiZaPySU_YAABOSyFTesM492.png-wh_50]()
生成路径,完成:
![7.png wKioL1hiZbbzswx1AABguIj34xk348.png-wh_50]()
确定是否为本客户端的全局公钥,如果没有别的公钥,就点是,否则点否;
![9.png wKioL1hiZeijM5tVAABMpviSB_4206.png-wh_50]()
2、服务器客户端设置:
(1)写入公钥
在生成的密钥里面有两个文件,一个公钥文件(Identity.pub),一个私钥(Identity)。
需要把Identity.pub内的内容写入到Linux服务器的特定文件中:~/.ssh/authroized_keys
其中,“~”表示对应用户的主目录,下面示例以root为例。如果你是用test用户登录的话需要把Identity.pub拷贝到/home/test/.ssh 若.ssh目录不存在,请创建它,并把公钥信息写入文件中:
[root@hr35 ~]# mkdir ~/.ssh
[root@hr35 ~]# chmod 700 ~/.ssh
[root@hr35 ~]# touch ~/.ssh/authorized_keys
[root@hr35 ~]# chmod 600 ~/.ssh/authorized_keys
[root@hr35 ~]# ssh-keygen -i -f you_Identity.pub >> /root/.ssh/authorized_keys #将公钥导入到 authorized_keys文件中
注意:必须要注意~/.ssh 的权限必须为700,~/.ssh/authorized_keys必须为600,否则可能会出现登录不了的情况。
(2)、开启ssh密钥登陆权限
修改/etc/ssh/sshd_config文件:
[root@hr35 ~]# vim /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
把上面这三个前面的#号去掉,保存退出。
![11.png wKiom1hiZjKQoXi-AAAfdHTihB8184.png-wh_50]()
如果想要禁止密码登录,可以修改/etc/ssh/sshd_conf中的
PasswordAuthentication yes 改为
PasswordAuthentication no
即只能使用密匙认证的openssh,禁止使用口令认证。
保存退出(ESC+输入“:wq!”);
重启sshd服务:
CentOS 6.*: service sshd restart
CentOS 7.*: systemctl restart sshd.service
(3)、客户端设置
新建一个会话,依次填写IP,端口,用户名(Username),选择密钥登陆(认证把密钥调到最上面密钥),秘钥文件,填写密钥密码;
![12.png wKioL1hiZkiCRS8kAAC62pxMCCw442.png-wh_50]()
二、Xshell登录设置
1、Xshell客户端设置
新建用户密钥:
![21.png wKiom1hiZuXQssV0AACxy75dzH0953.png-wh_50]()
选择选择密钥类型(RSA或DSA)和密钥长度(默认1024),然后点击下一步:
![22.png wKioL1hiZvmx-soMAAC2fT4gXoU583.png-wh_50]()
下一步:
![23.png wKiom1hiZwvysokMAACvOjsGMTE134.png-wh_50]()
填写密钥登录密码,下一步:
![24.png wKiom1hiZ1TysNqAAACpzFTNP0Q844.png-wh_50]()
导出公钥,点击完成;
![25.png wKiom1hiZ2WBIOEAAADmhTluvpc568.png-wh_50]()
导出私钥,然后关闭(建议导出和公钥一起保存,以防以后重装软件还得重新生成)
![26.png wKioL1hiZ3XDrZE4AABQolcDCWM455.png-wh_50]()
2、服务器
(1)、写入公钥
在生成的密钥里面有两个文件,一个公钥文件(id_dsa_1024.pub),一个私钥(id_dsa_1024)。
需要把id_dsa_1024.pub内的内容写入到Linux服务器的特定文件中:~/.ssh/authroized_keys
其中,“~”表示对应用户的主目录,下面示例以root为例。如果你是用test用户登录的话需要把id_dsa_1024.pub拷贝到/home/test/.ssh 若.ssh目录不存在,请创建它,并把公钥信息写入文件中:
[root@hr35 ~]# mkdir ~/.ssh
[root@hr35 ~]# chmod 700 ~/.ssh
[root@hr35 ~]# touch ~/.ssh/authorized_keys
[root@hr35 ~]# chmod 600 ~/.ssh/authorized_keys
[root@hr35 ~]# cat id_dsa_1024.pub >> /root/.ssh/authorized_keys #将公钥追加到 authorized_keys文件中
注意:必须要注意~/.ssh 的全新必须为700,~/.ssh/authorized_keys必须为600,否则可能会出现登录不了的情况。
(2)、开启ssh密钥登陆权限
vim /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
把上面这三个前面的#号去掉,保存退出。
![11.png wKiom1hiZjKQoXi-AAAfdHTihB8184.png-wh_50]()
如果想要禁止密码登录,可以把/etc/ssh/sshd_conf中的
PasswordAuthentication yes 改为
PasswordAuthentication no
即只能使用密匙认证的openssh,禁止使用口令认证。
保存退出(ESC+输入“:wq!”);
重启sshd服务:
CentOS 6.*: service sshd restart
CentOS 7.*: systemctl restart sshd.service
(3)、xshell客户端
新建一个会话,依次填写IP,端口;
![42.png wKiom1hiZ-2hGivSAACdef5WEbE228.png-wh_50]()
选择密钥登陆(认证把密钥调到最上面密钥),用户名(Username),秘钥文件及密钥密码;
![43.png wKiom1hiaGeBqFnXAACoU_b_x5w278.png-wh_50]()
END