启用 Vultr VPS 的 SSH 密钥登录并禁用密码验证主要分为三个核心步骤。首先,需要在本地计算机生成 SSH 密钥对,建议使用 Ed25519 或 RSA 4096 位算法以确保安全性。其次,将生成的公钥上传至 Vultr 控制面板的 SSH Keys 区域或在服务器初始化时添加,也可以手动添加到服务器的~/.ssh/authorized_keys 文件中。最后,登录服务器编辑/etc/ssh/sshd_config 配置文件,将 PasswordAuthentication 设置为 no,并重启 SSH 服务。务必在禁用密码前验证密钥登录是否成功,以免被锁定在服务器之外。
在 vultr 服务器上使用密钥登陆
1.本地创建密钥 这里夜梦使用 XFTP 进行演示,按照下面的图片进行创建:这里密钥长度可以根据自己的需求进行选择,夜梦这里就选择 2048 位的。这里需要输入密码,这个密码和一般的密码不一样,这个密码是基于密钥进行加密了的密码。我们在这里得到了公钥,请一定在这里把公钥文件保存到本地!因为一旦退出将再也无法查看!2.vultr 上创建密钥 我们在设置中找到 SSH Keys,点击 add ssh keys 然后把我们刚才的密钥复制到其中,名字可以随便取。在创建服务器的时候,在最下面有一个 SSH KEYS 选项,请务必在这里选中你需要的密钥!当然了,如果你忘记的话也不要紧,可以在 vultr 后台重新添加,不过此过程需要重装系统!在服务器后台中找到 settings 然后就可以重新选中 ssh keys 了。3.使用密钥连接服务器 在输入完用户名以后,我们选择密钥登录。密码就是先前创建密钥时输入的那个。4.禁用密码登录 代码语言:javascript AI 代码解释 vim/etc/ssh/sshd_config #修改 SSH 配置文件 找到 PasswordAuthentication,取消其注释并将 yes 修改为 no 然后重启 SSH 服务。代码语言:javascript AI 代码解释 service ssh restart 本文参与(发布时间是 2024 年 8 月 20 日)
别只改 SSH 端口了!为你的 Ubuntu/CentOS 服务器配置 SSH 密钥登录 + 禁用密码的完整指南
为你的 Ubuntu/CentOS 服务器配置 SSH 密钥登录 + 禁用密码的完整指南 彻底告别暴力破解:Ubuntu/CentOS 服务器 SSH 密钥登录全攻略 凌晨三点,服务器告警邮件又一次吵醒了你。登录日志显示,某个 IP 地址在过去两小时尝试了上千次 SSH 登录——这已经是本月第七次了。修改端口、设置复杂密码这些常规操作,在自动化攻击工具面前越来越像纸糊的防线。是时候从根本上重构服务器的认证体系了。去年某云平台的安全报告显示,采用纯密码认证的服务器平均每天遭遇 537 次暴力破解尝试,而成功入侵案例中 83% 源于弱密码或密码泄露。相比之下,配置正确的密钥认证系统可实现:数学级安全:RSA-2048 密钥的破解需要现有超级计算机运算约 140 亿年 无密码泄露风险:彻底消除键盘记录、中间人攻击等威胁 运维效率提升:无需记忆/轮换密码,通过密钥管理实现权限控制 密钥认证的核心优势在于:它将安全验证从"你知道什么"(密码) 转变为"你拥有什么"(私钥),这种范式转变直接废除了暴力破解的生存土壤。传统防护手段的局限性:
| 防护措施 | 防御效果 | 运维成本 | 潜在风险 |
|---|---|---|---|
| 修改 SSH 端口 | ★★☆☆☆ | 低 | 端口扫描仍可发现 |
| 密码复杂度策略 | ★★★☆☆ | 中 | 暴力破解仍可能成功 |
| Fail2ban | ★★★★☆ | 高 | 误封合法 IP |
| IP 白名单 | ★★★★★ | 极高 | 移动办公场景不可行 |
如何生成 SSH 密钥?(vultr)
如何生成 SSH 密钥?(vultr) 本文详细介绍了如何在 Windows 和 Linux 环境下创建 SSH 密钥,以及如何将这些密钥添加到服务器控制面板,实现无需密码的服务器登录。此外,还提供了使用 SSH 密钥连接服务器的具体步骤。常见问题 Linux 指南 SSH 密钥使您无需密码即可登录服务器。SSH 密钥可以在安装过程中自动添加到服务器。在 Windows 上创建 SSH 密钥 在 Windows 上创建 SSH 密钥的最简单方法是使用 PuTTYgen。下载并运行 PuTTYgen。点击“生成”按钮。为了提高安全性,您可以输入密钥密码。这是使用 SSH 密钥所必需的,并且将阻止有权访问您的密钥文件的人使用该密钥。生成密钥后,单击“保存私钥”。确保将其保存在安全的地方,因为丢失该文件将无法恢复 在“用于粘贴到 OpenSSHauthorized_keys 文件的公共密钥”中选择所有文本。这是您需要进入控制面板以使用 SSH 密钥的方式。在 Linux 上创建 SSH 密钥 创建和使用 SSH 的工具是标准工具,大多数 Linux 发行版中都应提供这些工具。使用以下命令,可以生成 ssh 密钥。运行:ssh-keygen -t rsa。要获得更安全的 4096 位密钥,请运行:ssh-keygen -t rsa -b 4096 在询问您要将密钥保存在何处时,按 Enter 键 (这将使用默认位置)。输入密钥密码。运行 cat ~/.ssh/id_rsa.pub-这将为您提供正确格式的密钥,以粘贴到控制面板中。确保备份~/.ssh/id_rsa 文件。如果丢失,将无法恢复。将 SSH 密钥添加到控制面板 登录后,请访问 https://my.vultr.com/sshkeys。点击“添加 SSH 密钥”。输入密钥的描述性名称。粘贴您的 SSH 公钥。这是一个以"ssh-rsa"开头的长字符串。您应该在生成密钥时保存此文件。点击“添加 SSH 密钥”。现在,在部署服务器时,您将能够选择要将哪些 SSH 密钥添加到新部署的服务器中。切记在初始服务器部署之前选择密钥,否则您将需要登录到新创建的服务器并手动添加 SSH 密钥。局限性 SSH 密钥仅适用于 Linux 和 FreeBSD。Windows,自定义 ISO 和快照还原均不支持它们。SSH 密钥只能在部署期间通过控制面板进行管理。您无法使用控制面板在已安装的实例上管理它们。使用 Windows 客户端上的 SSH 密钥连接到服务器 下载并运行 PuTTY SSH 客户端。user@x.x.x.x 在“会话”类别的“主机名”字段下键入目标服务器的 IP 地址或用户名 + IP 地址 ()。导航到“连接-> SSH->身份验证”类别 (左侧)。单击“用于身份验证的专用密钥文件”附近的“浏览”。选择.ppk 您之前使用 PuTTYgen 生成的私钥文件 (以结尾)。单击“打开”以启动连接。(该信息的时间戳是 2019 年 12 月 27 日)
临近年底,病毒肆虐,为防暴力破解,把服务器改为证书登录
临近年底,病毒肆虐,为防暴力破解,把服务器改为证书登录 本文档详细说明了如何配置 Linux 云服务器仅允许 SSH 证书登录,禁止密码登录,以提高服务器安全性。前置条件 客户端 (Windows) • 已安装 OpenSSH 客户端 (Windows10/11 默认已安装) • 有 PowerShell 访问权限 • 有服务器 root 权限或 sudo 权限 服务端 (Linux) • 已安装 OpenSSH 服务器 • 有 root 权限或 sudo 权限 • 当前可以通过密码登录 第一步:生成 SSH 密钥对 方法一:使用 ssh-keygen 生成新密钥 (推荐) 在 Windows PowerShell 中执行:代码语言:javascript AI 代码解释 # 生成 4096 位 RSA 密钥对 ssh-keygen-t rsa-b4096-f"$env:USERPROFILE\.ssh\id_rsa_server"-C"admin@server" 参数说明:•-t rsa:使用 RSA 算法 •-b 4096:密钥长度为 4096 位 (更安全) •-f:指定密钥文件路径 •-C:添加注释 (通常是邮箱) 执行后会提示:代码语言:javascript AI 代码解释 Enterpassphrase(emptyforno passphrase): 建议:• 可以设置密码短语 (passphrase) 以提高安全性 • 如果不需要,直接按 Enter 跳过 方法二:使用现有密钥 如果您已经有 SSH 密钥,可以跳过此步骤,直接使用现有密钥。生成的文件 生成后会创建两个文件:•私钥:C:\Users\YourUsername\.ssh\id_rsa_server •公钥:C:\Users\YourUsername\.ssh\id_rsa_server.pub ⚠️ 重要提示:• 私钥文件必须妥善保管,不要泄露 • 公钥文件可以公开,需要添加到服务器 第二步:将公钥添加到云服务器 方法一:使用 ssh-copy-id(推荐,Linux 客户端) 代码语言:javascript AI 代码解释 ssh-copy-id-i~/.ssh/id_rsa_server.pub root@服务器 IP 方法二:手动添加 (Windows 客户端) 2.1 查看公钥内容 代码语言:javascript AI 代码解释 Get-Content"$env:USERPROFILE\.ssh\id_rsa_server.pub" 2.2 登录到服务器 代码语言:javascript AI 代码解释 $env:Path+=";$env:SystemRoot\System32\OpenSSH"ssh root@服务器 IP 2.3 创建.ssh 目录 (如果不存在) 代码语言:javascript AI 代码解释 mkdir-p~/.ssh chmod700~/.ssh 2.4 添加公钥到 authorized_keys 代码语言:javascript AI 代码解释 echo"您的公钥内容">>~/.ssh/authorized_keys chmod600~/.ssh/authorized_keys 2.5 验证公钥已添加 代码语言:javascript(资料日期为 2026 年 2 月 27 日)
FAQ
问:禁用密码登录后无法连接怎么办?
答:保持当前会话不要关闭,通过 Vultr 控制面板的 VNC 功能登录服务器恢复配置。
问:密钥文件丢失了如何恢复?
答:无法恢复私钥,需通过 Vultr 控制面板重装系统或添加新密钥后重置。
问:是否必须禁用 Root 登录?
答:建议禁用 Root 直接登录,创建普通用户并通过 sudo 提权更安全。