Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ssh-hardening — SSH 加固 | Kitploit
工具/GitHubGitHub/spookey007/ssh-hardening
通用工具脚本与自动化配置审计网络安全身份验证
GitHubspookey007/ssh-hardening

ssh-hardening

SSH 加固

查看仓库
366个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

SSH 强化

在 Debian/Ubuntu 上一键锁定 SSH:新端口、禁止 root 登录、基于密钥的身份验证、可选的 UFW 和 Fail2Ban。


你将看到的内容

运行脚本时,它会检测你的操作系统,并在询问是否继续之前显示设置:

SSH Hardening — script prompt


快速入门(分步操作)

1️⃣ 安装 git(如果需要)

在 Debian/Ubuntu 上:

root@kitploit:~
sudo apt-get install -y git

2️⃣ 克隆仓库并进入文件夹

root@kitploit:~
rm -rf ssh-hardening
git clone https://github.com/spookey007/ssh-hardening.git
cd ssh-hardening

随时运行此命令以获取最新脚本。

3️⃣ 赋予脚本可执行权限

root@kitploit:~
chmod +x ssh_harden.sh script.sh

如果跳过此步骤,运行 ./ssh_harden.sh 时可能会收到 "command not found" 错误。如果发生这种情况,请改用步骤 5 中的 sudo bash ssh_harden.sh。

4️⃣ 在你的电脑上创建 SSH 密钥(用于粘贴为 SSH_PUB_KEY)

Linux / macOS

root@kitploit:~
ssh-keygen -t ed25519 -C "[email protected]"

按回车键使用默认路径(~/.ssh/id_ed25519)。可选:设置密码。

显示你的公钥(复制此内容到 SSH_PUB_KEY):

root@kitploit:~
cat ~/.ssh/id_ed25519.pub

Windows(PowerShell 或 Git Bash)

root@kitploit:~
ssh-keygen -t ed25519 -C "[email protected]"

按回车键使用默认路径。可选:设置密码。

显示你的公钥:

  • PowerShell: Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub
  • CMD: type %USERPROFILE%\.ssh\id_ed25519.pub

复制整行(以 ssh-ed25519 ... 开头)。这就是你的 SSH_PUB_KEY。

5️⃣ 以 root 身份运行脚本

将值替换为你自己的,然后运行:

root@kitploit:~
sudo SSH_USER=kamaileo \
     SSH_PASS='YourStrongPassword123!' \
     SSH_PORT=49221 \
     PORTS="5060,5061,10000-20000" \
     SSH_PUB_KEY="ssh-ed25519 AAAA... you@yourmachine" \
     ./ssh_harden.sh

如果出现 "command not found",请使用:

root@kitploit:~
sudo bash ssh_harden.sh

(前面带上相同的 SSH_USER=... SSH_PASS=... 等参数)。

6️⃣ 按照提示操作

  • 确认设置(用户、端口、密钥)。
  • 为 UFW 和 Fail2Ban 选择 Y 或 n。

7️⃣ 测试登录(在关闭当前会话之前)

在新终端中,使用新端口(而非 22)连接:

root@kitploit:~
ssh -p 49221 kamaileo@YOUR_SERVER_IP

使用你设置的端口和用户。仅在确认登录和 sudo 正常后才关闭原始会话。


给新用户的提示

  • 每次都使用新端口。 强化后,SSH 不再位于端口 22。始终使用以下方式连接:

    root@kitploit:~
    ssh -p <YOUR_PORT> <USER>@<SERVER_IP>
    

    示例:ssh -p 49221 [email protected]

  • 保存脚本完成时的输出。 在结束时,脚本会打印一个摘要,包含你的用户名、端口、连接命令以及是否设置了密码。复制或截图该区块,并保存在安全位置。如果你丢失了 SSH 密钥、忘记了端口或密码,该记录将帮助你恢复或重新连接(例如通过控制台/VNC 使用相同的用户名和密码)。

  • 脚本会输出你需要的所有信息:用户名、端口、UFW/Fail2Ban 状态以及确切的 ssh -p ... 命令。无需猜测。


如果用户已存在

如果 SSH_USER 在服务器上已存在,脚本不会创建新用户,也不会更改密码。它只会:

  • 确保用户属于 sudo 组
  • 如果你传递了 SSH_PUB_KEY,则更新 ~/.ssh/authorized_keys
  • 强化 SSH 配置,以及可选的 UFW 和 Fail2Ban

因此你可以再次运行它以“仅强化”,而无需更改现有密码。


你需要设置的变量


操作系统支持与 git 安装

在不受支持的操作系统上,脚本会打印 Coming soon 😊 并退出,不进行任何更改。


安全注意事项

  • 设置 SSH_PUB_KEY,以便在禁用密码认证后仍能登录。
  • 先在虚拟机或一次性服务器上进行测试。
  • 在测试 ssh -p PORT user@server 成功之前,保持当前会话打开。

请我喝杯咖啡

如果这个脚本为你节省了时间或解决了问题,你可以通过一次性打赏来支持项目。

BTC: 3L1Gc4avD4Bqoi2F9aq6z4heT13fXA8DZ9

无论如何都感谢你。


作者

@spookey007

下载工具
变量示例作用
SSH_USERkamaileo用户名(如果不存在则创建;如果已存在,则密码保持不变)。
SSH_PASS'YourPass123!'仅适用于新用户的密码。请使用强密码。
SSH_PORT49221SSH 端口。你将使用:ssh -p 49221 user@server。
PORTS"5060,5061,10000-20000"UFW 的额外端口(可选)。
SSH_PUB_KEY"ssh-ed25519 AAAA..."你的公钥。强烈建议设置,以免被锁定。
操作系统支持已测试git 安装
Debian 12 x64✅✅sudo apt-get install -y git
Debian 11/10, Ubuntu 24/22/20✅❌sudo apt-get install -y git
RHEL / Rocky / Alma / CentOS❌❌sudo yum install -y git
Fedora❌❌sudo dnf install -y git
Arch❌❌sudo pacman -Syu git
openSUSE❌❌sudo zypper install -y git