如何禁用root和密码的SSH登陆以提升安全性 打印

  • 0

本站的系统镜像均为了方便你的使用做出了一些修改,其中就包括启用了root用户的密码SSH登陆,但是这是一个极其危险的操作,我们强烈建议你在机器创建完成后进行如下操作,以免未来可能的数据甚至资金的损失。

1. 生成SSH密钥对

在客户端(你要从哪里连接)上生成SSH密钥对。使用ssh-keygen命令:

ssh-keygen -t rsa -b 4096 -C "你的邮箱@地址.com"

这条命令会做以下事情:

  • -t rsa 指定使用RSA算法。
  • -b 4096 指定密钥长度为4096位。
  • -C "[email protected]" 添加一个注释,可以是你的电子邮件地址。

你会被提示选择保存密钥的位置(默认是~/.ssh/id_rsa)和设置密钥名称一个密码短语(直接回车可设置空密码)。

2. 将公钥复制到服务器

使用ssh-copy-id命令将公钥复制到你要连接的服务器上:

ssh-copy-id root@机器的ip地址

这条命令会自动将你的公钥添加到远程服务器上的~/.ssh/authorized_keys文件中。

如果ssh-copy-id不可用,你也可以手动复制。

cat ~/.ssh/上一步指定文件名.pub | ssh root@服务器ip地址 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'

3. 配置SSH服务器

确保SSH服务器允许公钥认证。登陆服务器后,编辑/etc/ssh/sshd_config文件:

vi /etc/ssh/sshd_config

找到# PubkeyAuthentication yes和 AuthorizedKeysFile .ssh/authorized_keys  按下i键,删除这两行前面的#。

再按下Esc键,再依次输入:wq 后回车。

4. 重启SSH服务

修改完sshd_config文件后,重启SSH服务:

sudo systemctl restart sshd

或者在某些系统上:

sudo service ssh restart

5. 尝试使用SSH密钥进行连接

现在你可以使用SSH密钥连接到服务器,如果没问题,再进行接下来的操作。

6. 禁用密码认证

再次编辑/etc/ssh/sshd_config文件,找到PermitRootLogin yes改为prohibit-password,找到PasswordAuthentication yes改为no。

再重启sshd服务。

 

如果文档有问题欢迎随时点击页面右下角的问号向我们反馈。

 

 

 


此文章对您是否有帮助?

« 返回