四步搭建ubuntu的ftp服务器,基于ssh

概要

提示: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这个用户登陆就好了

ubuntuftp服务器搭建 第一步:安装相关的软件包。 apt-get install vsftpd 第二步:修改配置文件/etc/vsftpd.conf 默认配置文件部分解释 listen=NO #设置vsftpd服务器是否以standalone模式运行 listen_ipv6=YES #不用讲了吧 local_enable=YES #是否允许本地用户登录设为YES #write_enable=YES #是否允许登陆用户有写权限。属于全局设置,设为YES不然怎么上传文件呢 #local_umask=022 #本地用户新增档案时的umask 值。默认值为077。 anonymous_enable=NO #是否允许匿名用户,只有此项为YES以下anon_开头配置起作用 #anon_upload_enable=YES #是否允许匿名用户上传 #anon_mkdir_write_enable=YES #如果设为YES,则允许匿名登入者有新增目录的权限,只有在write_enable=YES时生效 dirmessage_enable=YES use_localtime=YES #不用讲了吧 #chroot_local_user=YES #是否限制用户在自己/home目录 #chroot_list_enable=YES #设置是否启用chroot_list_file配置项指定的用户列表文件 #chroot_list_file=/etc/vsftpd.chroot_list #用于指定用户列表文件 #几种搭配 # 当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_ list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目 录。 # 当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_l ist文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目 录。 # 当chroot_list_enable=NO,所有的用户均不能切换到其他目录。 xferlog_enable=YES #日志相关 #xferlog_file=/var/log/vsftpd.log #xferlog_std_format=YES connect_from_port_20=YES #端口设置 #ftpd_banner=Welcome to blah FTP service. #登录成功提示的欢迎消息 #以下参数不在默认配置文件中 userlist_enable=YES/NO(NO)#是否启用vsftpd.user_list文件。 userlist_file=/etc/vsftpd.user_list userlist_deny=YES/NO(YES)#若设置为YES,则vsftpd.user_list文件中的用户不允 许访问FTP,若设置为NO,则只有vsftpd.user_list文件中的用户才能访问FTP。 #注意还要修改/etc/vsftpd/ftpusers文件,这里的用户不能登陆ftp 的 常用设置情景 有多用户,root和其他,不允许匿名,root可访问任何文件夹,其他用户限制只能访问 自己文件夹,都可上传下载 取消注释write_enable=YES anonymous_enable=NO 取消注释chroot_local_user=YES 取消注释chroot_list_enable=YES 取消注释chroot_list_file=/etc/vsftpd.chroot_list #此时列表内用户可访问上级文件夹 编辑/etc/vsftpd.chroot_list 加入root 编辑/etc/ftpusers文件删除能登陆的用户名如root,这里面是不能登陆的用户 #添加用户 uftp 用户名为uftp 家目录为/home/uftp 此账号登陆只能访问家目录 sudo useradd -d /home/uftp -s /bin/bash uftp #添加用户名为uftp的用户,家目录为/home/uftp sudo passwd uftp #设置密码 #同理 sudo useradd -d /var/ftp -s /bin/bash uftp2 sudo passwd uftp2 #设置密码 sudo service vsftpd restart #重启ftp服务 ----------------------- ubuntuftp服务器搭建全文共4页,当前为第1页。 ubuntuftp服务器搭建全文共4页,当前为第2页。 ubuntu下f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Golden只喝白兰地

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值