1、ssh远程登录centos系统。
2、在/root/.ssh目录下创建rsa密钥对,生成的id_rsa(私钥)下载到本地,一会证书登录时需要用,id_rsa.pub(公钥),第3点会讲
cd ~/.ssh
ssh-keygen -t rsa -b 4096 //生成密钥对,此命令执行后一路回车到底即可,如原来已有密钥对,在生成是他会问你是否覆盖(y/n),此时按需选择。以上语句生成的文件为默认文件名(id_rsa),如想要命名成自己想要的,可在以上命令后面加上 -f 你的文件名(注意-f前有个空格)
3、将生成的公钥内容复制到authorized_keys文件中,再设置authorized_keys文件权限为600或644
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys //复制公钥
chown -R 700 ~/.ssh //设置目录下所有文件权限
chown -R 644 ~/.ssh/authorized_keys //设置authorized_keys文件权限
4、修改配置文件,/etc/ssh/sshd_config,配置文件中,以下内容缺的话就补上,没坏处
PermitRootLogin yes //是否允许root账号登录,yes=允许,no=不允许,without-password=不允许通过密码ssh登陆,forced-commands-only=可以登录,但是登陆后不能进入交互,而是执行指定的命令后 自动退出
PasswordAuthentication yes //是否允许密码验证,yes=允许,no=不允许,在你未验证完证书是否能正常登录时,请不要设置成no,不然可能会有麻烦
StrictModes no //是否严格模式
RSAAuthentication yes //启用 RSA 认证,默认为yes
PubkeyAuthentication yes //启用公钥认证,默认为yes
AuthorizedKeysFile ~/.ssh/authorized_keys //指定公钥所存放的位置,如果是想要有多个密钥对,可以参考下面这种写法,切不可在同一个文件里面放多个公钥,到时你可能又有麻烦事来了
#AuthorizedKeysFile ~/.ssh/authorized_keys1 ~/.ssh/authorized_keys2 ~/.ssh/authorized_keys3 //多个密钥对写法,这些文件中放的都是公钥内容,扩展名为.pub的文件,另外要注意,这些文件在你修改当前配置文件之前,最好将authorized_keys1这些公钥文件提前设置好,我反正又在这上面被坑过
编辑完以上内容后,记得保存。
5、重启服务,使更改生效
systemctl restart sshd
执行完成上指令后,关闭远程登录,然后根据你的ssh远程工具,使用第2步生成的私钥尝试登录,如未成功,那么你需要检查哪边没有整好。
6、在确认完证书登录没问题后,可能你不需要密码登录,此时可以以第4步中找到修改方式,改完后记得保存并重启服务哦。