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. 确定登陆
如果能自动登陆进来,那么说明密钥认证设置成功了!
时间: 2024-10-06 00:43:13