SFTP 服务-阿里云 ECS 云服务器
在阿里云 ECS 云服务器上配置 SFTP 服务,以用于文件传输
前提条件
服务器系统:创建服务器时给安装的 debian11.7 64位debian_11_7_x64_20G_alibase_20230718.vhd
日期:20231007
1 服务器端配置
我在此前已经在服务器上创建了一个sudo用户rouv用于日常调试,以下实例中将此rouv用户称为 sftpuser
首先登陆root用户,然后
查看ssh版本
ssh -V
如果OpenSSH版本低于4.8p1,需升级OpenSSH
apt update -y openssh-server
创建用户组sftp
groupadd sftp
创建用户并加入到用户组sftp中,同时设置用户密码。
由于这里我打算用之前创建好的用户,所以这里只需要将 sftpuser 添加到 sftp 用户组
usermod -g sftp sftpuser
执行以下命令,配置sshd_config文件。
vim /etc/ssh/sshd_config
这里我这里按官方教程走踩坑了,我这里记录可以正确配置的过程。
不注释
Subsystem sftp /usr/libexec/openssh/sftp-server
在文件末尾添加
好吧,我最后啥也没加(
之后执行以下命令,重启sshd服务。
systemctl restart sshd
2 客户端远程连接
在本地定位到你要传输的文件所在目录,然后输入:
sftp -oPort=22 用户名@IP地址
连接成功后,您可以使用交互式sftp命令
sftp命令示例如下:
sftp> pwd #查看远程云服务器的当前目录
Remote working directory: /
sftp> lpwd #查看本地云服务器的当前目录
Local working directory: /root
sftp> ls #查看远程云服务器的当前目录下的文件或文件夹
test
sftp> lls #查看本地云服务器的的当前目录下的文件或文件夹
test.txt
sftp>
执行以下命令,上传或下载文件、文件夹
put -r 文件或文件夹 指定目录
例如:上传test.txt文件到sftp的/test目录,命令如下
put -r test.txt /test
下载文件或文件夹
get -r 文件或文件夹 指定目录
例如:下载test.txt文件到本地云服务器的当前目录(可以不指定目录),命令如下
get -r /test/test.txt
执行以下命令,退出SFTP
exit
参考链接
https://help.aliyun.com/zh/ecs/use-cases/use-sftp-to-upload-files-to-a-linux-instance

浙公网安备 33010602011771号