非root用户免密ssh登录到linux---防破解!!

实现root账户ssh配私钥登录远程主机(CentOS 7.6)

增加新用户

在root账户下
增加用户:useradd admin
设置密码:passwd admin
增加root权限:visudo
进入文本后找到root ALL=(ALL) ALL,另起一行,加入admin ALL=(ALL) NOPASSWD:ALL
su admin 切换到新用户 再使用sudo su -切换回root,说明权限正常,进行下一步

切换到root,关闭root登录

sudo su -
vim /etc/ssh/sshd_config 找到#PermitRootLogin yes去掉#把yes改为no
systemctl restart sshd 重启服务并生效

切换到新用户,添加公钥

su admin cd /home/admin 回到新用户根目录下
sudo rm -rf /home/admin/.ssh 确保之前添加失败的文件夹及文件已被删掉
mkdir .ssh cd .ssh vim authorized_keys
三次命令分开执行,切记不要用vim .ssh/authorized_keys,这样权限会出问题!!
authorized_keys中粘入公钥格式:ssh-rsa AAAAB3N…== skey_508820
执行完这一步就可以私钥访问主机了,如果不行就加权限试试,或者就重来一遍吧,哈哈!!
chmod 700 /home/admin/.ssh
chmod 644 /home/admin/.ssh/authorized_keys

这套非root用户添加公钥的SOP,填了不少坑,请认真执行,亲测百分百有效!!!期间参考过如下两篇文章:

拒绝ssh远程暴力破解
这篇文章的方法三是个坑,被坑了好久才发现是少了添加公钥的步骤,接着又遇到了权限坑!!
Putty server refused our key的三种原因和解决方法
这篇文章的第一段说到了关键,添加公钥要注意权限问题,于是我摸索出了最简单的添加步骤如上!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章