Linux修改SSH使用证书登录
由于使用密码方式登录,会有接收到很多尝试爆破的登录连接,考虑禁止SSH用户名密码登录模式,改用证书登录。 生成公钥和私钥 ssh-keygen -t rsa 按照提示生成,提示输入证书密码,可以留空,如果输入了,每次登录还需要输入证书的密码。完成后会在~/.ssh/目录下生成 id_rsa 和 id_rsa.pub 文件。 在服务上将公钥内容添加到 authorized_keys cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys # 不再服务器生成的 vim ~/.ssh/authorized_keys 检查~/.ssh/authorized_keys文件权限 -rw------- 1 xxx xxx 400 Mar 24 20:10 authorized_keys # 如果权限不对,执行以下命令 chmod 600 ~/.ssh/authorized_keys 这个时候可以尝试使用ssh工具用证书登录,本地登录需要将公钥和私钥都保存在一个文件夹,如果登录没有问题,进入下一步 修改sshd配置文件 在/etc/ssh/sshd_config.d下增加一个配置文件,达到覆盖系统默认的/etc/ssh/sshd_config.d 的目的,因为ssh如果升级,会有被覆盖的风险 vim /etc/ssh/sshd_config.d/60-custom.conf 增加以下内容 PasswordAuthentication no 保存后,重启sshd服务 这个时候原来用密码登录的ssh还能用,别着急关(万一有问题可以急救),再试试证书是否能正常登录,用户名密码登录应该已经不能登录。