本站的系统镜像均为了方便你的使用做出了一些修改,其中就包括启用了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服务。
如果文档有问题欢迎随时点击页面右下角的问号向我们反馈。