首先输密码登录root
ssh root@xxx.xxx.xxx.xx
新建用户并赋予管理员权限
sudo adduser xxx
sudo usermod -aG sudo xxx
exit 退出连接
新增密钥登录
xx为新建的用户名,
ssh-copy-id xxx@100.00.00.00
禁止 root 远程登录、禁止密码登录
编辑 SSH 配置文件 /etc/ssh/sshd_config,找到并修改以下行(如果它们不存在,可以添加):
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
PasswordAuthentication no:禁止密码登录。PubkeyAuthentication yes:允许公钥认证(即使用密钥对进行认证)。PermitRootLogin no:禁止 root 用户直接登录(可选,但推荐以增强安全性)。
-
保存并关闭文件:
在
vi编辑器中,按Esc键,然后输入:wq并按回车以保存更改并退出编辑器。在nano编辑器中,按Ctrl+O保存文件,然后按Ctrl+X退出编辑器。 -
重启 SSH 服务:
修改配置文件后,需要重启 SSH 服务以使更改生效。可以使用以下命令:
sudo systemctl restart sshd
安装防火墙
sudo apt update
sudo apt install ufw
sudo ufw allow 22/tcp (SSH使用默认端口`22`,如果使用自定义端口,替换端口号)
sudo ufw delete allow 22/tcp (删掉默认22)
sudo ufw allow 80/tcp (允许HTTP流量)
sudo ufw allow 443/tcp (允许HTTPS流量)
sudo ufw enable (启用)
sudo ufw status verbose (查看当前状态和配置)
sudo ufw reload
修改默认端口
Port 2222
检查端口是否是监听状态
sudo netstat -tuln | grep 2222
阿里云,如果修改后无法连接,需要去安全组添加规则
网络与安全-安全组-管理规则-入方向-手动添加
端口为自定义的ssh端口
其他
关于密钥问题
/.ssh/known_hosts 去掉对应服务器ip的密钥