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

posted @ 2024-01-28 13:56  rouv  阅读(198)  评论(0)    收藏  举报