CentOS7禁用密码并使用ssh证书登录

服务器使用密码登录容易被暴力破解,更改ssh登录端口是必要的,再加上使用证书登录,会让服务器更安全。

首先为了方便或者避免出现不必要的失败,可以使用ssh-keygen 生成公钥和私钥, 同时生成.ssh 目录。

使用ssh-keygen -t rsa 生成必要的证书相关文件,一路回车就行。

如果需要自定义可以使用man ssh-keygen 查看使用说明。

cd .ssh 进入.ssh文件夹,ls
 能列出相关文件

authorized_keys :存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
id_rsa : 生成的私钥文件
id_rsa.pub :生成的公钥文件
know_hosts :已知的主机公钥清单

如果希望证书登录生效需满足至少下面两个条件:

.ssh目录的权限必须是700

.ssh/authorized_keys文件权限必须是600

由于我们使用命令行生成的文件所以不需要修改权限。
如果是自己使用电脑软件生成的公钥,也可以将必要文件放在.ssh目录就行,别忘了校验权限

接下来是ssh方面的设置,编辑sshd配置文件

首先安装nano ,使用安装命令yum install nano -y 安装nano 编辑工具

然后nano /etc/ssh/sshd_config ,修改下列属性(没有的可以跳过)

#root用户登录请开启
PermitRootLogin yes

# 是否让 sshd 去检查用户家目录或相关档案的权限数据,
# 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
# 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
StrictModes no

# 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

# 禁用密码登录
PasswordAuthentication no

设置完成时使用Ctrl + X 关闭,按照提示输入y 保存,然后回车确认文件名。

设置好后重启 sshd 服务

service sshd restart
如果重启服务不成功,可以reboot 重启系统尝试

版权声明:
作者:云飞
链接:https://swxtd.com/43.html
来源:我的随笔
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>