使用XShell密钥认证登录Linux服务器

Xshell密钥认证

SSH服务支持一种安全认证机制,即密钥认证。所谓的密钥认证,实际上是使用一对加密字符串,一个称为公钥(publickey), 任何人都可以看到其内容,用于加密;另一个称为密钥(privatekey),只有拥有者才能看到,用于解密。通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥来猜测密钥却十分困难。 ssh的密钥认证就是使用了这一特性。服务器和客户端都各自拥有自己的公钥和密钥。如何使用密钥认证登录Linux服务器呢?

1. 生成密钥对

    

2. 保存公钥到服务器中

1. 新建文件夹 /.ssh

mkdir /root/.ssh

2. 修改/.ssh文件夹权限

chmod 700 /root/.ssh

3. 把公钥复制到文件夹下的authorized_keys文件中

vi /root/.ssh/authorized_keys

4. 关闭selinux防火墙

如果不关闭selinux, 使用密钥登陆会提示 “Server refused our key”

setenforce 0

这个只是暂时命令行关闭selinux, 下次重启Linux后selinux还会开启。

永久关闭selinux防火墙的方式:把/etc/selinux/config文件中的“SELINUX=enforcing”修改成“SELINUX=disabled”,并且保存退出

3. 验证是否设置成功

1. 为当前会话设置私钥

2. 把用户身份验证中的方法改成public key

3. 选择刚才生成并自动保存的私钥

4. 输入刚刚生成密钥对时的密码

5. 确定登陆

如果能自动登陆进来,那么说明密钥认证设置成功了!

猜你喜欢

转载自www.linuxidc.com/Linux/2017-06/144405.htm