使用SFTP传输文件

Modified on: Wed, 05 Aug 2020 16:23:00 +0800

由于一些限制,通过面板网页上传/下载较大的文件时会出现一些问题,需要使用面板附带的SFTP进行文件传输。

我们需要先获取面板服务器的SFTP连接信息

点击进入需要连接的服务器,打开侧边栏-配置-SFTP设置

sftp-0.png

进入后,可以查看到当前服务器的SFTP连接信息

sftp-detail.png

连接地址是使用SFTP工具连接该服务器的地址,格式为传输协议://主机名(IP):端口
SFTP用户名为您连接时的用户名,格式为用户名.服务器编号,SFTP密码为面板账户密码

Android安卓系统(手机)

本教程以FTP Express为例,进行操作演示

FTP Express汉化版 由本人自行汉化,仅供学习研究使用,请在下载后24小时内删除

打开FTP Express,点击右上角的加号按钮

sftp-e-1.png

我们需要根据刚刚在面板中看到的SFTP连接信息进行填写,以下为填写样例
SFTP连接端口与游戏服务器端口不同,请注意区分

sftp-e-2.png

注意

  • 协议选择SFTP
  • 密码即为您的面板密码

为了避免文件乱码,请将字符编码改为UTF-8

sftp-e-6.png

填写完成后,点击右上角的打勾按钮保存

回到主界面,点击刚刚添加的服务器

sftp-e-3.png

点击接受

sftp-e-4.png

最后就进入了服务器文件管理,您可以通过左右滑动在本地和服务器之间传输文件

sftp-e-5.png

Windows/Linux桌面(电脑)

本教程以FileZilla为例,进行操作演示

FileZilla客户端官方下载地址:https://filezilla-project.org/download.php?type=client

打开FileZilla,在上方快速连接菜单栏输入对应信息
主机为面板控制台上的连接地址
用户名为面板控制台上的SFTP用户名
密码为面板账户密码
由于主机已包含了端口,FileZilla会自动识别,所以无需再次填写端口
SFTP连接端口与游戏服务器端口不同,请注意区分

sftp-6.png

填写完成后,点击快速连接
第一次连接服务器时,将会提示是否保存密码,可根据实际需要选择。保持密码后,下次连接该服务器将无需输入密码。

sftp-7.png

首次连接服务器还会要求确认是否信任当前服务器密钥,勾选信任并点击确定

filezilla_key.png

连接成功后,您就可以像管理本地文件一样,将文件在服务器与本机之间相互传输,查看、编辑服务器上的文件。

命令行终端

Linux系统(包括Android安卓系统上的一些终端模拟器,如Termux)与一些(类)Unix系统(如苹果macOS)以及Windows CMD/PowerShell中,您可以直接使用openssh中的sftp进行连接

若提示找不到sftp命令,请先安装openssh客户端

sftp: command not found

安装openssh客户端

  • CentOS/RHEL系
yum install openssh-clients -y
  • Ubuntu/Debian系
apt install openssh-client -y

然后使用sftp命令连接即可

sftp -P 端口 用户名@主机名

如前图所示的信息,命令示例如下

sftp -P 1234 test.a6bcda22@test.ipyvps.com

随后会弹出主机密钥确认信息,输入yes后回车

The authenticity of host '[test.ipyvps.com]:1234 ([***.***.***.***]:1234)' can't be established.
ECDSA key fingerprint is SHA256:3ONSuA2Y0KpWLWkoyWDQNSQG4n0SKDD2yppc9NECf9M.
ECDSA key fingerprint is MD5:f6:18:38:1f:b5:39:e7:78:c9:02:2b:78:ba:22:5e:a4.
Are you sure you want to continue connecting (yes/no)?

之后会提示输入密码,在此输入面板密码
输入的密码不会显示,并不是没有输入
输入完成后按下回车键确认

test.a6bcda22@test.ipyvps.com's password:

连接成功后会显示以下信息

Connected to test.ipyvps.com.
sftp>

我们就可以使用在本地常用的文件管理命令了,如使用ls查看所有文件和文件夹,使用cd切换目录

下载文件

get 文件名 本地路径

上传文件

put 文件名 远程路径

如下载服务器的/home目录中的test.tar.gz文件到本地的/server目录,则使用如下命令

get /home/test.tar.gz /server

下载进度条100%后出现以下提示即为成功

sftp> get /home/test.tar.gz /server
Fetching /home/test.tar.gz to /server/test.tar.gz
/home/test.tar.gz                                                      100%  170MB 136.0MB/s   00:01    

上传文件同理

若未填写本地路径,文件则会自动下载/上传到您当前所在的本地/远程目录

最后使用exitquitbye命令退出SFTP,结束会话