大家都知道ssh一直提供两种方式登录:口令认证方式和密钥认证方式,口令的方式是我们最常使用的一种,接下来和大家谈谈使用密钥的方式登录。
client(Windows Xshell) To Server(CentOS6.6)
1.生成密钥(公钥与私钥),打开是xshell,选择菜单栏tools-->User key Generation Wizard...
弹出如下窗口:
注意Key Type选择RSA,Key Length选择2048,然后next:
等待密钥生成成功,然后选择next:
弹出如下窗口,填写key name,这个随意,以及key验证时的密码(千万别忘了)
到这里生成密钥就已经完成,选择next,导出密钥文件,
2.接下来是第二步,将testkey.pub放到server,方法有很多种,你可以使用scp,ftp,亦或者u盘,这里我使用的一个lrzsz工具,如果你也知道最好,不知道的话可以看我另一篇博文,http://ultraera.blog.51cto.com/6640392/1670522
如果出现报错如下图:暂时关闭防火墙即可。
将密钥文件上传到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.所有配置都已经完成,接下来进行测试
首先使用口令登录:
可以看到这里password选项已经变成灰色,并且不可选,并且默认选项改为public Key。
那么,接下来,我们选择当时的key,并且输入当时设置的密码,
好了,以上就是配置xshell使用密钥ssh登录centos的全部过程。
如果大家,在参照教程中发现有任何问题都可以给我留言,或者直接发送邮件到我邮箱[email protected](这样速度会快点)