网站

通过 SFTP 连接: FileZilla、Cyberduck 和命令行

SFTP (Secure File Transfer Protocol) gives you direct access to your site's files on the server. This guide covers everything you need to connect successfully, from finding your credentials to…

通过 SFTP 连接:FileZilla、Cyberduck 和命令行

SFTP(安全文件传输协议)让您可以直接访问服务器上网站的文件。本指南涵盖了成功连接所需的全部内容,从查找凭证到排除错误。

SFTP 是什么及何时使用

KPanel 内置的文件管理器便于快速编辑:重命名文件、查看配置或上传单个资源。当您需要以下功能时,SFTP 是正确的工具:

  • 一次上传或下载大量文件(迁移网站、批量上传图像)。
  • 传输在基于浏览器的上传中会超时的大文件。
  • 作为开发工作流程的一部分,在本地编辑文件并推送更改。
  • 使用 GUI 客户端来保持本地和远程文件夹同步。
  • 访问未通过 KPanel 文件管理器公开的日志或配置文件。

SFTP 加密传输中的所有数据,比普通 FTP 更安全。KapsuleHost 不提供未加密的 FTP 连接。

KPanel 中的 SSH / SFTP 页面

前置条件

连接前需要两件事。

1. 在 KPanel 中为您的网站添加 SSH 密钥。

KapsuleHost 上的 SFTP 使用 SSH 密钥认证。为了安全起见,已禁用密码认证。如果您尚未添加 SSH 公钥,请先遵循将 SSH 密钥添加到您的网站指南,然后返回此处。

2. 您的网站用户名。

KapsuleHost 上的每个网站都有一个专用系统用户。这不是您的 KPanel 电子邮件地址。这是一个与该网站专门绑定的短用户名。

查找方法:

  1. 登录到 kpanel.kapsulehost.com 上的 KPanel。
  2. 在左侧边栏中单击网站
  3. 单击您要连接的网站。
  4. 转到 SSH / SFTP 页面。
  5. 您的网站用户名显示在此选项卡的顶部。通常类似于 mysite_commyexamplesite_net

连接详情一览:

字段
主机cp1-kapsule.kapsulehost.com
端口22
协议SFTP(不是 FTP,不是 FTPS)
认证仅 SSH 密钥
用户名您的网站用户名(来自 KPanel > 网站 > [网站] > SSH / SFTP)

使用 FileZilla 连接

FileZilla 是一个免费的跨平台 SFTP 客户端,可用于 Windows、macOS 和 Linux。如果您还没有,请从 filezilla-project.org 下载。

分步设置

  1. 打开 FileZilla。

  2. 转到文件 > 站点管理器(或在 Windows 上按 Ctrl+S / Mac 上按 Cmd+S)。

  3. 单击添加网站并为其起个名称(例如,"我的 Kapsule 网站")。

  4. 常规选项卡中,配置以下字段:

    字段
    协议SFTP - SSH 文件传输协议
    主机cp1-kapsule.kapsulehost.com
    端口22
    登录类型密钥文件
    用户您的网站用户名(例如,mysite_com
    密钥文件单击浏览并导航到您的私钥文件
  5. 对于密钥文件,选择与您在 KPanel 中添加的公钥相对应的私钥。在 macOS 和 Linux 上,私钥通常存储在 ~/.ssh/ 中(例如,~/.ssh/id_ed25519~/.ssh/id_rsa)。在 Windows 上,它们通常在 C:\Users\YourName\.ssh\ 中。

如果您的私钥有密码短语,FileZilla 在连接时会提示您输入。这是正常的。密码短语保护您的私钥文件,与任何 Kapsule 密码无关。

  1. 单击连接测试连接,或单击确定保存并稍后连接。

保存和重新连接

保存在站点管理器后,您可以随时通过转到文件 > 站点管理器并单击连接来重新连接。FileZilla 还在工具栏的下拉列表中显示您保存的网站以便快速访问。

在 FileZilla 的站点管理器中,首次连接时勾选始终信任此主机复选框以避免将来出现主机密钥提示。


使用 Cyberduck 连接

Cyberduck 是 macOS 和 Windows 的免费 SFTP 客户端。从 cyberduck.io 下载。

分步设置

  1. 打开 Cyberduck。

  2. 单击打开连接(工具栏中的地球图标)。

  3. 在对话框顶部的协议下拉列表中,选择 SFTP(SSH 文件传输协议)

  4. 填写连接字段:

    字段
    服务器cp1-kapsule.kapsulehost.com
    端口22
    用户名您的网站用户名(例如,mysite_com
    密码留空
    SSH 私钥单击选择并选择您的私钥文件
  5. 单击连接

首次连接时,Cyberduck 会要求您验证服务器的主机密钥指纹。单击允许继续。如果在后续连接中看到此提示且指纹不同,请不要接受并联系支持,因为这可能表示配置已更改。

保存为书签

要保存连接以供将来使用:

  1. 成功连接后,转到书签 > 新建书签(或在 Mac 上按 Cmd+Shift+B)。
  2. 为书签起个名称并关闭对话框。该书签出现在您的 Cyberduck 书签列表中。

从终端连接(Mac、Linux 或 WSL)

如果您喜欢命令行,sftp 命令在 macOS、Linux 和 Windows Subsystem for Linux (WSL) 上可用。

基本连接

sftp mysite_com@cp1-kapsule.kapsulehost.com

mysite_com 替换为您的实际网站用户名。如果您的私钥不在默认位置(~/.ssh/id_rsa~/.ssh/id_ed25519),请使用 -i 标志指定:

sftp -i ~/.ssh/your_private_key mysite_com@cp1-kapsule.kapsulehost.com

首次连接时,系统会要求您确认服务器的主机指纹。输入 yes 并按 Enter。这在每个密钥每个设备上只发生一次。

有用的 SFTP 命令

连接后,您将看到 sftp> 提示符。使用这些命令导航和传输文件:

命令功能
ls列出当前远程目录中的文件
lls列出当前本地目录中的文件
cd [dir]更改远程服务器上的目录
lcd [dir]更改本地计算机上的目录
pwd显示当前远程目录路径
lpwd显示当前本地目录路径
get [file]从远程下载文件到本地
get -r [dir]递归下载目录
put [file]从本地上传文件到远程
put -r [dir]递归上传目录
rm [file]删除远程服务器上的文件
mkdir [dir]在远程服务器上创建目录
quit关闭 SFTP 连接

示例:下载文件

sftp> cd htdocs/wp-content/themes
sftp> get my-theme.zip

示例:上传文件

sftp> lcd ~/Desktop
sftp> cd htdocs/wp-content/uploads
sftp> put my-image.jpg

您的文件位置

连接后,您将进入网站用户的主目录:/home/[siteuser]/

目录结构如下所示:

/home/mysite_com/
├── htdocs/              ← Your web root (main location for site files)
│   ├── index.php
│   ├── wp-config.php
│   ├── wp-content/
│   │   ├── themes/
│   │   ├── plugins/
│   │   └── uploads/
│   └── ...
├── logs/                ← PHP and access logs
└── tmp/                 ← Temporary files

您的 WordPress(或其他应用程序)所在的网络根目录是 htdocs/。这是您将花费大部分时间的目录。在某些网站配置中,它可能改名为 public_html/。如果您连接后看到 public_html/ 而不是 htdocs/,请使用那个。

您只能访问属于您的网站用户的文件。您无法导航到 /home/[siteuser]/ 之上或访问其他客户的目录。这是设计使然。


排除连接问题

"连接被拒绝"

连接在建立之前被主动拒绝。

**检查:**确认您使用的是主机 cp1-kapsule.kapsulehost.com 和端口 22。常见错误是输入端口 21(这是 FTP,不是 SFTP)或主机名输入有误。

"权限被拒绝 (publickey)"

服务器接受了连接尝试但拒绝了您的认证。

检查以下每一项:

  • 您的 SSH 公钥已在 KPanel > 网站 > [网站] > SSH / SFTP 中添加。如果未列出,服务器没有记录。
  • 您在 FileZilla/Cyberduck 中选择了正确的私钥,特别是与您添加到 KPanel 的公钥配对的私钥。
  • 如果您的密钥有密码短语,请确保输入正确。
  • 如果您有多个密钥,确认您没有意外选择错误的密钥。

"主机密钥验证失败"

您的 SFTP 客户端之前为此主机名看到过不同的主机密钥,并向您警告不匹配。

**首次连接:**系统会要求您接受指纹。这是正常的。单击接受或输入 yes

**后续连接出现新指纹:**这可能表示服务器配置已更改。在接受之前请在 support@kapsulehost.com 联系支持,并提及您看到的内容。

要在终端中清除旧主机密钥,编辑 ~/.ssh/known_hosts 并删除 cp1-kapsule.kapsulehost.com 的行。

"无法从远程存储库读取"或目录错误

您可能使用了您的 KPanel 电子邮件地址而不是网站用户名。

**检查:**用户名必须是您的网站用户名(例如,mysite_com),不是您的电子邮件地址。在 KPanel > 网站 > [网站] > SSH / SFTP 中查找正确的用户名。

连接超时

连接尝试挂起然后超时而没有任何错误。

可能的原因:

  • 由于重复的登录失败尝试,您的 IP 地址可能被 Kapsule 防火墙临时阻止。在 support@kapsulehost.com 联系支持并要求他们检查防火墙日志。
  • 您网络上的本地防火墙或 VPN 可能阻止了端口 22 上的出站连接。尝试从不同网络(例如移动热点)连接以排除此原因。

相关文章

仍需帮助?

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

打开 KPanel
通过 SFTP 连接: FileZilla、Cyberduck 和命令行