概要
提示:1.系统版本为ubuntu24.04,其他版本大同小异
2.用户端先安装好ftp软件如filezilla
整体架构流程
整个服务器其实是ftp服务器,整体使用ubuntu自带的ssh来传输。该服务器需要用户设备连接到同一个与服务器同一个局域网(通俗来说就是连同一个wifi),才能进行文件的传输。
搭建过程:
1.启用SSH服务
sudo apt install openssh-server # 安装SSH服务(若未安装)
sudo systemctl start ssh # 启动服务
sudo systemctl enable ssh # 设置开机自启
运行过程:
2.创建用户信息,包括用户名和密码,这里我的用户名字为zsc402
sudo adduser zsc402 # 创建用户并设置密码
信息建立完成后会提示设置密码
在里我的密码少于8个所以会警告,但是不影响密码设置
密码设置好了就会这样提示:
全名和房间号可以使用默认值,后面只要一直回车就行了
最后验证服务器状态
sudo systemctl status ssh
如果不行可以重启一下服务器
sudo systemctl daemon-reload
sudo systemctl restart ssh
至此基于ssh的ftp服务器就搭建完成了
完善
接下来就是修饰环节,因为我们还没有限制用户访问的文件夹。
这里为新开了一个用户,在个用户只能被限制在指定文件夹读写
首先查看需要存放的位置,我这里放在D盘
然后进入D盘可以看到位置
还是老样子新建用户
sudo adduser zsc402d
sudo usermod -s /usr/sbin/nologin zsc402d
修改SSH配置文件
sudo nano /etc/ssh/sshd_config
在文件末尾添加
Match User zsc402d
ChrootDirectory /media/golden/D # 限制用户在此目录
ForceCommand internal-sftp
PermitTunnel no
AllowAgentForwarding no
X11Forwarding no
改好后 ctrl x退出,y和回车 确认修改文件就好了
然后重启ssh
sudo systemctl restart sshd
然后设置目录权限(关键步骤)
sudo chown root:root /media/golden/D # 目录归属root
sudo chmod 755 /media/golden/D # 权限:root读写,其他用户只读
然后创建用户可写子目录(用户实际操作区)
sudo mkdir /media/golden/D/user_files # 用户文件存储区
sudo chown zsc402d:zsc402d /media/golden/D/user_files # 用户拥有此目录
最后使用使用ifconfig查看服务器ip地址
ip为192.168.200.7
最后使用filezilla用zsc402d这个用户登陆就好了