https://github.com/LloydAsp/OsMutation
国外服务器:
curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh || wget -O reinstall.sh $_
国内服务器:
curl -O https://cnb.cool/bin456789/reinstall/-/git/raw/main/reinstall.sh || wget -O reinstall.sh $_
重装
以下操作需要 root 权限,建议使用以下命令切换至 root 用户并进入其主目录:
sudo -i
进入脚本所在目录,执行如下命令开始安装:
bash reinstall.sh {os} {release}
如未指定版本号,默认安装对应系统的最新稳定版。
例如,要安装 Alpine 3.22:
bash reinstall.sh alpine 3.22
运行后重启系统,即可自动开始系统重装:
reboot
建议不要直接重启,因为默认配置下,SSH 将使用以下弱密码登入:
端口
22
用户名
root
密码
123@@@
这非常不安全。请务必通过 –password 参数自定义强密码。
此外,建议使用 –ssh-port 更改 SSH 默认端口 22,避免被扫描攻击。
示例:
bash reinstall.sh alpine 3.22 --password "123@@@" --ssh-port 22022
如使用密码登入,强烈建议安装 fail2ban,防止 SSH 被暴力破解。
为了更高安全性,推荐完全禁用密码登入,改用 SSH Key。使用 –ssh-key 参数可直接指定公钥或文件路径。
如果你当前已经配置了 SSH Key,通常可以在 ~/.ssh/authorized_keys 中找到它,直接作为参数传入:
bash reinstall.sh alpine 3.22 --ssh-port 22022 --ssh-key ~/.ssh/authorized_keys
若尚未生成 SSH Key,可使用 Termius 等工具创建。生成步骤如下:
打开 Termius
点击左上角「Vaults」,再点击左侧「Keychain」
点击右侧的向下箭头,选择「Generate Key」
按需填写参数,建议使用 ED25519 算法
点击「Generate & Save」,再点击右下角「Export to Host」
选择目标主机,点击「Export and Attach」即可完成导出
重装完成后,请编辑 SSH 凭据,删除密码。
注意:即使你仅指定了 SSH Key,系统也不会自动关闭密码登入。请在新系统中手动编辑 /etc/ssh/sshd_config,添加以下配置:
PermitRootLogin prohibit-password # 禁止 root 密码登录
PubkeyAuthentication yes # 启用 SSH Key 登录(一般已启用)
PasswordAuthentication no # 禁止密码登录(关键)
至此,你已顺利完成系统重装,并成功配置安全的 SSH 登录方式!