Xshell配置ssh使用密钥公钥(publice key)登录(多图,手机慎入!)

    大家都知道ssh一直提供两种方式登录:口令认证方式和密钥认证方式,口令的方式是我们最常使用的一种,接下来和大家谈谈使用密钥的方式登录。

 

client(Windows Xshell) To Server(CentOS6.6)


  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盘,这里我使用的一个lrzsz工具,如果你也知道最好,不知道的话可以看我另一篇博文,http://ultraera.blog.51cto.com/6640392/1670522

wKioL1WaMZGAe7gZAAL7_sZ0wPc861.jpg


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

wKiom1WaMH7Qa0_6AAC428tt4dM994.jpg

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

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

[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)只允许使用密钥登录不允许口令登录:

# 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的全部过程。


如果大家,在参照教程中发现有任何问题都可以给我留言,或者直接发送邮件到我邮箱[email protected](这样速度会快点)


你可能感兴趣的:(ssh,xshell,public,key,authorized_keys)