目的:利用秘钥登录,禁止直接使用root,加强服务器的安全性
1、新建用来登录的账号并加入超级组
useradd xxx -g wheel
2、修改ssh配置
vim /etc/ssh/sshd_config
PermitRootLogin yes
PermitEmptyPasswords yes
PasswordAuthentication yes
上述三项都改为no,禁用root登录,空密码认证
开启rsa认证
RSAAuthentication yes
PubkeyAuthentication yes 开启rsa认证,并才用公钥认证
AuthorizedKeysFile .ssh/authorized_keys 秘钥路径
制定策略,允许哪些账号连接
Allowusers xxxxx 把需要使用秘钥认证的账号加入这里
:wq 保存退出即可
3、创建秘钥对
ssh-keygen -t rsa
接下来提示要输入的是秘钥保存的路径和文件名字 比如:/tmp/xxxx
按下回车键,提示输入密码,这个是用秘钥登录时,在选择了私钥配对成功之后,是否还需要输入密码,根据个人情况
至此秘钥创建完毕
4、把公钥移至创建账号家目录对应的目录下,公钥和私钥都下载至本地
cat /tmp/xxxx.pub > /home/xxxx/.ssh/authorized_keys 中间若有目录不存在,直接创建就好
5、修改家目录的对应的目录属性,以及公钥的权限
chown xxxx.wheel -R /home/xxxx
chmod 600 /home/xxxx/.ssh/authorized_keys
6、重启ssh服务验证
service sshd restart
本地
ssh -i /tmp/xxxx xxxx@localhost
回车之后是否需要输入密码看你在创建秘钥对时的选择,成功即可进入此用户权限模式
scrt
直接输入需要连接的地址,然后 点击该连接的会话选项,输入刚创建的账号,以及把秘钥的私钥路径加入,确定连接,输入在创建秘钥对所创建的密码即可
7、上述登录成功之后,都只有普通用户权限,要想获取root权限,
还得使用sudo su,但是默认是没有这个权限的,所以还得修改sudo的配置文件
vim /etc/sudoers
加入 %wheel ALL=(ALL) ALL 最后一个ALL前面没有加入NOPASSWD: 则sudo su切换获取root权限的时候需要输入密码,修改完sudo的文件之后,此时得创建登录获取root权限的密码才行
echo "xxx" |passwd --stin xxx
8、开启rsa认证的同时还可以允许root登录,修改两项就行
PermitRootLogin yes 允许root认证
AllowUsers root 把root加入允许登录的组
至此可以利用秘钥登录,并且可以获取到root的权限
新手,欢迎开喷,希望大家多多给予意见,感谢!