centos下面配置key登录

centos下需要配置使用key登录,并且要禁止root登录

下面的操作都是用root来设置的

1.添加新用户 例如用户名leisiyuan

useradd leisiyuan

2.设置密码

passwd leisyuan

3.给新用户添加到root权限组

运行visudo命令,找到root ALL=(ALL) ALL,在下面添加一行 ,然后保存即可

leisiyuan ALL=(ALL) ALL

然后使用ssh客户端 用新用户名进行登录测试 确认无误

5.更改ssh服务器配置 允许使用证书登录

vi /etc/ssh/sshd_config

找到如下三句,把#去掉

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile     .ssh/authorized_keys
改为
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile     .ssh/authorized_keys

然后重启ssh服务器生效

service sshd restart

5.生成证书 如果已经有证书就跳过该步骤 约定公钥名称为key.pub 私钥为key

ssh-keygen -t rsa

显示Enter file in which to save the key (/root/.ssh/id_rsa):的时候 输入要保存秘钥的位置 直接输入key即可 就会在当前目录产生秘钥

接着Enter passphrase (empty for no passphrase):输入秘钥的密码 这里我设置成test123

接着Enter same passphrase again:就再输入一遍秘钥的密码

执行完后就在当前目录生成两个文件 一个key(私钥),一个key.pub(公钥)

6.复制公钥到指定目录

mkdir /home/leisiyuan/.ssh
cp key.pub /home/leisiyuan/.ssh/authorized_keys
chown leisiyuan -R /home/leisiyuan/.ssh/
restorecon -FRvv /home/leisiyuan/.ssh/
chmod 751 /home/leisiyuan
chmod 751 /home/leisiyuan/.ssh/authorized_keys

做完这一步 就可以测试用证书登录了,确认无误再进行下一步

4.禁止root直接登录  禁止密码登录

vi /etc/ssh/sshd_config

找到#PermitRootLogin yes替换为PermitRootLogin no

找到#PasswordAuthentication yes替换为PasswordAuthentication no

5.重启sshd服务器 使配置生效

service sshd restart
原文地址:https://www.cnblogs.com/yuandaozhe/p/9720470.html