这是一个安全、易用的Linux系统管理脚本,用于快速配置root用户密码和SSH服务设置。
- 🔐 密码管理: 支持随机生成强密码或设置自定义密码
- 🚪 端口配置: 自定义SSH端口,提高安全性
- 🛡️ 安全配置: 自动配置SSH允许root登录和密码认证
- 🔥 防火墙: 自动检测并配置防火墙规则(UFW/firewalld/iptables)
- 💾 备份保护: 自动备份原始配置文件
- ✅ 验证检查: 配置语法验证和服务状态检查
方式1: 使用wget(推荐)
wget -O setup_root_ssh.sh https://raw.githubusercontent.com/DaBoWin/SshRoot/main/setup_root_ssh.sh && chmod +x setup_root_ssh.sh && ./setup_root_ssh.sh方式2: 使用curl
curl -o setup_root_ssh.sh https://raw.githubusercontent.com/DaBoWin/SshRoot/main/setup_root_ssh.sh && chmod +x setup_root_ssh.sh && ./setup_root_ssh.sh方式3: 使用安装脚本
curl -s https://raw.githubusercontent.com/DaBoWin/SshRoot/main/install.sh | bash# 下载脚本
wget https://raw.githubusercontent.com/DaBoWin/SshRoot/main/setup_root_ssh.sh
# 或者使用curl
curl -O https://raw.githubusercontent.com/DaBoWin/SshRoot/main/setup_root_ssh.sh
# 给予执行权限
chmod +x setup_root_ssh.sh
# 运行脚本(推荐方式,脚本会自动处理权限)
./setup_root_ssh.sh# 方式1: 直接使用sudo
sudo ./setup_root_ssh.sh
# 方式2: 切换到root用户后运行
sudo -i
./setup_root_ssh.sh
# 方式3: 使用su切换
su -
./setup_root_ssh.sh脚本会自动检查并处理权限问题:
- 如果不是root用户,会尝试使用sudo提升权限
- 如果sudo不可用,会提示手动切换到root用户
脚本提供两种密码设置方式:
- 随机密码: 自动生成16位强密码
- 自定义密码: 手动输入密码(最少8位)
- 显示当前SSH端口
- 支持设置1024-65535范围内的端口
- 自动检查端口占用情况
- 可选择保持当前端口
脚本会自动检测系统防火墙类型并配置:
- UFW: Ubuntu/Debian系统常用
- firewalld: CentOS/RHEL/Fedora系统常用
- iptables: 传统Linux防火墙
- ✅ Root权限验证
- ✅ SSH配置语法检查
- ✅ 端口占用检测
- ✅ 密码强度验证
- ✅ 配置文件自动备份
- ✅ 服务状态监控
- ✅ 错误处理和回滚
脚本会自动备份原始SSH配置文件到:
/etc/ssh/sshd_config.backup.YYYYMMDD_HHMMSS
如需恢复原始配置:
sudo cp /etc/ssh/sshd_config.backup.* /etc/ssh/sshd_config
sudo systemctl restart sshd脚本执行完成后,请立即测试新的SSH连接:
# 使用新端口连接
ssh root@your_server_ip -p new_port
# 示例
ssh root@192.168.1.100 -p 2222- 立即测试: 完成配置后立即测试SSH连接
- 密钥认证: 建议后续配置SSH密钥认证
- 定期更新: 保持系统和SSH服务更新
- 防护工具: 考虑安装fail2ban防止暴力破解
- 监控日志: 定期检查SSH登录日志
- 检查防火墙规则是否正确
- 确认SSH服务是否正常运行
- 验证端口是否被其他服务占用
- 确保当前用户有sudo权限
- 或直接使用root用户运行脚本
如果配置出现问题,可以恢复备份:
sudo cp /etc/ssh/sshd_config.backup.* /etc/ssh/sshd_config
sudo systemctl restart sshd- ✅ Ubuntu/Debian
- ✅ CentOS/RHEL/Rocky Linux
- ✅ Fedora
- ✅ Amazon Linux
- ✅ 其他主流Linux发行版
MIT License
欢迎提交Issue和Pull Request来改进这个脚本。