告别暴力破解:一键全能 SSH 密钥配置神器



在 Linux 服务器运维中,SSH 安全是第一道防线。传统的密码登录不仅容易遭遇暴力破解(Brute-force attacks),而且每次输入密码也显得繁琐。

使用 SSH 密钥对(Public/Private Key)登录是业界公认的最佳实践。但在手动配置过程中,新手常会遇到权限设置错误(chmod)、配置文件修改繁琐(sshd_config)、甚至因为误操作导致无法登录的尴尬。

为了解决这些痛点,我们在脚本中集成了全套的 SSH 密钥管理功能。 无论是生成新密钥、导入 GitHub 公钥,还是从 URL 拉取,都能一键搞定,并自动完成安全加固。



核心功能亮点

我们的 sshkey 模块不仅仅是简单的“添加密钥”,它是一套完整的安全加固流程:

1. 智能安全加固(自动挡)

无论您选择哪种方式添加密钥,脚本在成功导入后都会自动执行以下安全操作,无需手动编辑 /etc/ssh/sshd_config

  • 开启公钥登录 (PubkeyAuthentication yes)
  • 关闭密码登录 (PasswordAuthentication no)
  • 关闭 Challenge 响应 (ChallengeResponseAuthentication no)
  • 修正文件权限(自动处理 .ssh 目录 700 和 authorized_keys 600 权限,防止因权限宽松导致的登录失败)

2. 多种密钥导入方式

我们提供了四种模式,满足不同场景的需求:

  • 生成新密钥对 (Gen New Keys)
    • 使用更现代、更安全的 ED25519 算法(比 RSA 更短、更快、更安全)。
    • 自动生成公私钥,屏幕直接输出私钥内容,方便复制保存。
  • GitHub 一键导入 (GitHub Import)
    • 这是最受开发者欢迎的功能。只需输入您的 GitHub 用户名,脚本会自动抓取您在 GitHub 设置好的公钥。
    • 无需手动复制粘贴长串字符,多台服务器部署时的效率神器。
  • 远程 URL 导入 (URL Import)
    • 适合团队协作或拥有自建密钥托管服务的用户。输入公钥文件的 URL,自动下载并追加。
    • 贴心细节:脚本会自动备份原有的 authorized_keys 文件,防止误覆盖。
  • 手动粘贴导入 (Manual Import)
    • 支持直接粘贴 ssh-rsassh-ed25519 开头的公钥字符串。

3. 交互式管理面板

即使不懂命令参数,通过可视化菜单也能轻松查看本机密钥、编辑密钥文件或切换登录模式。



使用教程

您可以通过交互式菜单使用,也可以通过命令行参数快速调用。

方式一:交互式菜单(推荐新手)

运行脚本并选择 sshkey 选项(或直接运行子命令):

Bash
bash <(curl -sL kejilion.sh) sshkey

您将看到如下界面:

ROOT私钥登录模式 [已启用/未启用]

  1. 生成新密钥对
  2. 手动输入已有公钥
  3. 从 GitHub 导入已有公钥
  4. 从 URL 导入已有公钥
  5. 编辑公钥文件
  6. 查看本机密钥

根据提示输入数字即可完成配置。

方式二:极速命令行(DevOps 推荐)

如果您是老手,希望在初始化服务器时一行命令搞定,支持以下传参方式:

1. 从 GitHub 用户名导入(最快) 此命令会将 your_username 账户下的所有公钥导入本机,并关闭密码登录:

Bash
bash <(curl -sL kejilion.sh) sshkey github your_username

2. 从远程 URL 导入

Bash
bash <(curl -sL kejilion.sh) sshkey https://example.com/my_key.pub

3. 直接导入公钥字符串

Bash
bash <(curl -sL kejilion.sh) sshkey "ssh-ed25519 AAAAC3Nz......"



常见问题 (Q&A)

Q: 开启密钥登录后,我还能用密码登录吗? A: 默认策略是为了安全考虑,脚本会自动关闭密码登录 (PasswordAuthentication no)。这意味着在执行脚本后,您必须拥有私钥才能登录。请务必在脚本提示时保存好您的私钥文件!

Q: 导入 GitHub 公钥安全吗? A: 安全。GitHub 公钥接口 (https://github.com/username.keys) 是公开的,仅包含公钥部分。私钥依然安全地保存在您的本地电脑中。

Q: 为什么生成的密钥是 ed25519 而不是 rsa? A: ED25519 是目前 SSH 协议中最推荐的公钥算法。相比传统的 RSA 2048/4096,它的密钥长度更短,签名和验证速度更快,且抗攻击性更强。



总结

使用此功能,您只需 10 秒钟 即可将一台裸机服务器的安全等级提升至生产环境标准。立即尝试,给您的服务器加上一把“防盗锁”!

版权声明:
作者:KEJILION
链接:https://blog.kejilion.pro/ssh-key/
来源:科技lion官方博客【国内版】
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>