Xshell配置ssh使用密钥公钥(publice key)登录

1.生成密钥(公钥与私钥),打开是xshell,选择菜单栏tools–>User key Generation Wizard…

弹出如下窗口:

wKiom1WaLK-DI6-DAAGWSh5VTpo859.jpg

注意Key Type选择RSA,Key Length选择2048,然后next:

wKioL1WaLuyCaUzmAAHCBdpkgsM960.jpg

等待密钥生成成功,然后选择next:

弹出如下窗口,填写key name,这个随意,以及key验证时的密码(千万别忘了)

wKiom1WaLb7Qm4IxAAFYBhJcg1g895.jpg

到这里生成密钥就已经完成,选择next,导出密钥文件,

wKioL1WaMF3w7bUlAAJNYFxo2-4248.jpg

wKiom1WaLpGxHHjXAAJROhh7Jwk009.jpg

2.接下来是第二步,将testkey.pub放到server,方法有很多种,你可以使用scp,ftp,亦或者u盘

wKioL1WaMZGAe7gZAAL7_sZ0wPc861.jpg

如果出现报错如下图:暂时关闭防火墙即可。

wKiom1WaMH7Qa0_6AAC428tt4dM994.jpg

将密钥文件上传到server之后,需要做如下操作,

把testkey.pub的内容替换到/root/.ssh/

1
2
3
4
5
6
7
8
9
10
11
[root@test ~]# ls -a 
.                  ..                 testkey.pub
[root@test ~]# mkdir .ssh
[root@test ~]# chmod 700 .ssh/
[root@test ~]# cd .ssh/
[root@test .ssh]# cat ../testkey.pub > ./authorized_keys
[root@test .ssh]# ls
authorized_keys
[root@test .ssh]# chmod 600 authorized_keys
[root@test ~]# diff testkey.pub .ssh/authorized_keys 
[root@test ~]#

确保文件内容相同。

3.接下来配置server的ssh服务(/etc/ssh/sshd_config)只允许使用密钥登录不允许口令登录:

1
2
3
4
5
6
# line 66
PasswordAuthentication no                    # 不允许口令登录
# line 48,49
PubkeyAuthentication yes                     # 使用key登录
AuthorizedKeysFile .ssh/authorized_keys      # key的名字

保存退出后,重启ssh服务。

4.所有配置都已经完成,接下来进行测试

首先使用口令登录:

wKioL1WaNvKhfDbNAALJlGXpNts727.jpg可以看到这里password选项已经变成灰色,并且不可选,并且默认选项改为public Key。

那么,接下来,我们选择当时的key,并且输入当时设置的密码,

wKioL1WaN-HCxpQTAAF_zBArOsE928.jpg

wKiom1WaNhXhewvPAAGLfTyIx-U449.jpg

好了,以上就是配置xshell使用密钥ssh登录centos的全部过程。

此条目发表在Linux分类目录,贴了, 标签。将固定链接加入收藏夹。