云服务器

使用SSH连接到您的云服务器

SSH gives you a root shell on your cloud server from your own terminal, and every detail you need to connect is shown on the server's page in KPanel, ready to copy.

使用 SSH 连接到您的云服务器

SSH 让您可以从自己的终端获得云服务器的 root shell,所有连接所需的详细信息都显示在 KPanel 中服务器页面上,随时可以复制。

云服务器从操作系统开始就完全属于您,这意味着命令行是大部分工作进行的地方。本指南涵盖查找连接详细信息、使用密钥或密码连接、正确设置密钥、浏览器控制台备选方案,以及几乎每次连接失败都会出现的常见错误。

查找您的连接详细信息

  1. 登录 KPanel
  2. 在左侧边栏中点击云服务器,然后点击您的服务器。
  3. 找到连接卡片。

该卡片包含三个复制到剪贴板的字段:

字段说明
SSH 命令可以直接粘贴到您的终端的完整命令
IPv4 地址服务器的公网 IPv4 地址
IPv6 地址服务器的 IPv6 地址,如果已分配则显示

KPanel 中云服务器的连接卡片

如果卡片显示"配置完成后 IP 地址将显示在此处",则服务器仍在构建中。配置云服务器大约需要 60 秒,完成时页面会自动更新。

使用 SSH 密钥连接

如果您在订购服务器时将公钥粘贴到了 SSH 公钥字段,则密钥认证已配置,无需输入密码。

  1. 从连接卡片复制 SSH 命令
  2. 将其粘贴到您的终端并按 Enter。
ssh root@203.0.113.1

您的 SSH 客户端会找到匹配的私钥并自动进行认证。如果您的密钥位于非标准位置,请明确指向它:

ssh -i ~/.ssh/my-kapsule-key root@203.0.113.1

密钥既更简单又更安全。没有什么需要记住,没有什么需要输入到网络钓鱼提示中,也没有什么可供自动密码猜测攻击利用。如果您仍在使用密码,生成密钥并添加它大约需要两分钟。

首次设置密钥

在您自己的机器上生成密钥对,而不是在服务器上:

ssh-keygen -t ed25519 -C "your-email@example.com"

按 Enter 接受默认位置,并在提示时设置密码短语。您现在有两个文件:

  • ~/.ssh/id_ed25519 是您的私钥。它永远不会离开您的机器,您也永远不要将其粘贴到任何地方。
  • ~/.ssh/id_ed25519.pub 是您的公钥。这是您提供给服务器的。

打印公钥并复制整个单行,包括 ssh-ed25519 前缀和末尾注释:

cat ~/.ssh/id_ed25519.pub

订购服务器时,将该行粘贴到 SSH 公钥字段。该字段自己的提示清楚地说明了这一点:"粘贴您的公钥以启用基于密钥的认证。如果留空,将向您发送一个 root 密码。"

不要粘贴文件内容而不在末尾添加 .pub。那是您的私钥,任何拥有它的人都可以在每个信任它的服务器上以您的身份登录。如果您不小心共享了私钥,请立即生成新的密钥对并在所有地方替换公钥。

要将密钥添加到您已拥有的服务器,请按您当前能做的任何方式连接,然后将公钥行追加到 /root/.ssh/authorized_keys

使用密码连接

如果您在订购时将 SSH 公钥字段留空,则服务器配置完成后会向您发送一个 root 密码。

  1. 从连接卡片复制 SSH 命令
  2. 将其粘贴到您的终端并按 Enter。
  3. 在提示处输入发送给您的 root 密码。

进入系统后立即使用 passwd 更改该密码,并同时添加 SSH 密钥。通过电子邮件发送的密码已经传播得太远了。

浏览器控制台

浏览器控制台在 KPanel 中为您提供一个终端,无需 SSH 客户端,也无需通过 22 端口。这是当您自己的访问权限出现问题时的工具。

  1. 打开服务器页面并在操作按钮中点击浏览器控制台,或前往 /cloud-servers/<server-id>/console
  2. 点击启动控制台。KPanel 在服务器上启动一个通过 HTTPS 且带有一次性凭证的终端。
  3. 用户名密码显示在页面上,并有一个复制凭证按钮。终端在页面本身中打开,您的浏览器可能会提示您输入这些凭证。
  4. 像在任何 shell 中一样工作。

控制台会话会在 30 分钟后自动停止。启动新会话会发布新凭证,因此完成后不会有任何东西继续监听。浏览器控制台还需要服务器上配置的带 HTTPS 的域,这意味着通过面板安装的应用。在裸服务器上,控制台会告诉您而不是以静默方式失败。

使用控制台撤销锁定您的防火墙规则、重置密码或修复 sshd 配置。一旦您通过 SSH 正常连接回来,就不需要它了。

保持 SSH 访问安全

设计上,端口 22 在 KapsuleHost 服务器防火墙上始终开放,因此防火墙更改永远不会完全锁定您对机器的访问。

这意味着您的 shell 的安全性取决于您如何进行身份验证,而不是隐藏端口。两件事做了大部分工作:

  • 使用密钥,而不是密码。 这样猜测的密码就无法进入。
  • 保持 fail2ban 启用。 它默认启用,并禁止反复 SSH 身份验证失败的地址。您可以在服务器的管理页面上看到该开关。

云服务器防火墙和安全管理涵盖这两者,以及为您自己的应用程序所需的端口自定义规则。

故障排除

"连接被拒绝。" 没有东西在监听。检查服务器在 KPanel 中显示运行中,如果它关闭请打开它,并使用浏览器控制台检查 sshd 是否正在运行。

"连接超时。" 流量未到达。确认您使用的是连接卡片中的 IPv4 地址,并检查您自己的网络是否阻止出站端口 22。企业网络或校园网有时会这样做。

"权限被拒绝 (publickey)。" 服务器不识别您的密钥。确认您粘贴了 .pub 行(完整且未改动),并且您的客户端正在提供匹配的私钥。将 -v 添加到 ssh 命令以查看它尝试了哪些密钥。

密码上显示"权限被拒绝,请重试"。 密码错误,或因为您提供了密钥所以密码认证被禁用。使用密钥或浏览器控制台。

"远程主机标识已更改。" 服务器的主机密钥与您的客户端记住的不同。重建后这是预期的,因为操作系统已重新安装。从您的 known_hosts 文件中删除该 IP 地址的过期条目并重新连接。如果您没有重建任何东西,在连接前停止并联系我们。

我用防火墙规则把自己锁在外面了。 端口 22 保持开放,所以这很不寻常,但如果服务器内部的规则阻止了您,请使用浏览器控制台删除它。

如果上述方法都无法为您获得 shell,请向 support@kapsulehost.com 发送电子邮件,包括服务器名称、您的连接地址和确切的错误文本。

仍需帮助?

请发送邮件至 support@kapsulehost.com 或在 KPanel 中打开聊天。

打开 KPanel