rsa 秘钥认证

目的:利用秘钥登录,禁止直接使用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

直接输入需要连接的地址,然后 点击该连接的会话选项,输入刚创建的账号,以及把秘钥的私钥路径加入,确定连接,输入在创建秘钥对所创建的密码即可

rsa 秘钥认证_第1张图片

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的权限



新手,欢迎开喷,希望大家多多给予意见,感谢!

你可能感兴趣的:(rsa 秘钥认证)