返回
快速导航关闭
当前搜索
网站分类
栏目推荐
实用工具
热门标签
子分类:
创奇学院 >SEO >服务器 » 正文

安卓ftp server软件,FTP服务 FTP和SFTP

服务器 更新时间: 发布时间: 服务器归档 最新发布 网站地图

FTP是File Transfer Protocol(文件传输协议),用来进行服务器和客户端之间文件传输的协议。非常常用的服务,应用场景主要在设备间文件共享,服务程序发布,日志文件管理等方面。这里我在ubuntu环境下安装和测试ftp的几个服务。

FTP分类

FTP

FTP是基于TCP的传输,并且FTP采用双TCP连接方式。

支持用户登录认证和目录列出。

控制连接使用TCP端口号21;用于在FTP客户端和FTP服务器之间传输FTP控制命令及命令执行信息。

数据连接使用TCP端口号不是确定的,需要根据使用的数据传输模式确定,主动模式下端口号是20,被动模式下随机。

SFTP

SFTP(SSH File Transfer Protocol)是一种基于SSH的安全的文件传输协议,SSH前面有详细介绍这里不再赘述。

TFTP

简单文件传输协议(Trivial File Transfer Protocol,TFTP)是 TCP/IP 协议族中一种简单的文件传输协议,用来在客户端与服务器之间进行文件传输。

TFTP 基于UDP协议进行文件传输。与FTP协议不同的是,TFTP 传输文件时不需要用户进行登录。它只能从文件服务器上下载或上传文件,不能列出目录。

TFTP在嵌入式系统中传输文件使用比较多,因为u-boot本身就支持这个协议传输文件,可以用来进行目标机程序下载。

Ubuntu 安装FTP服务

安装vsftps服务

ubuntu@ubuntu-virtual-machine:~$ sudo apt install vsftpd

配置文件 /etc/vsftpd.conf

这里直接粘贴一个可以使用的ftp配置文件全文内容,也是来源于网上的教程,但是我也是使用的这个配置文件,所以确保是可以使用的。

listen=NOlisten_ipv6=YESanonymous_enable=NOlocal_enable=YESwrite_enable=YESdirmessage_enable=YESuse_localtime=YESxferlog_enable=YESconnect_from_port_20=YESchroot_local_user=YESsecure_chroot_dir=/var/run/vsftpd/emptypam_service_name=vsftpdrsa_cert_file=/etc/ssl/private/vsftpd.pemrsa_private_key_file=/etc/ssl/private/vsftpd.pemssl_enable=NOuser_sub_token=$USERlocal_root=/home/$USER/ftppasv_min_port=30000pasv_max_port=31000userlist_enable=YESuserlist_file=/etc/vsftpd.user_listuserlist_deny=NO

防火墙配置

前面说到了ftp服务将使用20和21两个网络端口,所以避免防火墙限制,我们设置一下防火墙。

ubuntu@ubuntu-virtual-machine:~$ sudo ufw allow 20:21/tcp
防火墙规则已更新
规则已更新(v6)
ubuntu@ubuntu-virtual-machine:~$ sudo ufw allow 30000:31000/tcp
防火墙规则已更新
规则已更新(v6)
ubuntu@ubuntu-virtual-machine:~$ sudo ufw disable
防火墙在系统启动时自动禁用
ubuntu@ubuntu-virtual-machine:~$ sudo ufw enable
此命令可能会中断目前的 ssh 连接。要继续吗 (y|n)? y
在系统启动时启用和激活防火墙
ubuntu@ubuntu-virtual-machine:~$

创建ftp登录账户

我们为ftp服务器创建单独的账户,这个对于中大型的网络环境安全是必须的,同时设置此账户只能用来访问ftp服务。

ubuntu@ubuntu-virtual-machine:~$ sudo adduser ftpuser1
正在添加用户"ftpuser1"...
正在添加新组"ftpuser1" (1002)...
正在添加新用户"ftpuser1" (1002) 到组"ftpuser1"...
创建主目录"/home/ftpuser1"...
正在从"/etc/skel"复制文件...
新的 密码: 
重新输入新的 密码: 
passwd:已成功更新密码
正在改变 ftpuser1 的用户信息
请输入新值,或直接敲回车键以使用默认值
        全名 []: ftpuser1
        房间号码 []: 
        工作电话 []: 
        家庭电话 []: 
        其它 []: 
这些信息是否正确? [Y/n] yubuntu@ubuntu-virtual-machine:~$ echo "ftpuser1" | sudo tee -a /etc/vsftpd.user_list
ftpuser1
ubuntu@ubuntu-virtual-machine:~$ cat /etc/vsftpd.user_list 
ftpuser1
ubuntu@ubuntu-virtual-machine:~$ sudo mkdir -p /home/ftpuser1/ftp/upload
ubuntu@ubuntu-virtual-machine:~$ sudo chmod 550 /home/ftpuser1/ftp
ubuntu@ubuntu-virtual-machine:~$ sudo chmod 750 /home/ftpuser1/ftp/upload
ubuntu@ubuntu-virtual-machine:~$ sudo chown -R ftpuser1: /home/ftpuser1/ftp

ubuntu@ubuntu-virtual-machine:~$ echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a  /bin/ftponly
ubuntu@ubuntu-virtual-machine:~$ sudo chmod a+x /bin/ftponly
ubuntu@ubuntu-virtual-machine:~$ echo "/bin/ftponly" | sudo tee -a /etc/shells
ubuntu@ubuntu-virtual-machine:~$ sudo usermod ftpuser1 -s /bin/ftponly

至此ubuntu下ftp服务安装完成,我们可以使用systemctl 命令看一下服务运行是否正确

ubuntu@ubuntu-virtual-machine:~$ sudo systemctl status vsftpd.service ● vsftpd.service - vsftpd FTP server     Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)     Active: active (running) since Sun 2022-06-26 19:03:52 CST; 16min ago    Process: 1047 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/SUCC>   Main PID: 1053 (vsftpd)      Tasks: 1 (limit: 4578)     Memory: 772.0K     CGroup: /system.slice/vsftpd.service             └─1053 /usr/sbin/vsftpd /etc/vsftpd.conf6月 26 19:03:51 ubuntu-virtual-machine systemd[1]: Starting vsftpd FTP server...6月 26 19:03:52 ubuntu-virtual-machine systemd[1]: Started vsftpd FTP server.lines 1-12/12 (END)

Windows FTP客户端使用

我们在Windows下使用一个ftp客户端访问ubuntu的ftp测试安装是否正确,这里我使用的是filezilla的ftp客户端软件。

可以访问官网下载:FileZilla中文网 - 免费开源的FTP解决方案

这里简单介绍一下使用方法,打开filezilla软件以后,左上角有一个站点管理按钮,点击并参考下面的设置新建一个站点。

ftp 站点

新建站点以后点击连接,会提示输入密码,按照创建ftp登录用户时创建的密码输入即可登录。

ftp 登录

可以看到ftp登录成功,左侧显示本机Windows的文件目录,右侧显示ubuntu服务器制定的ftp目录,两边的文件夹可以相互进行文件传输,传输过程和状态将在filezilla软件下方显示。

Windows SFTP客户端使用

现在一般使用ftp服务的比较少,使用SFTP的更多,因为SFTP确实也比较方便不需要单独进行服务配置,只要支持SSH登录一般就可以使用SFTP。

filezilla也支持使用SFTP登录服务器,非常简单,知识在创建站点的时候协议选择稍微修改一下就可以了。

sftp 站点

点击连接输入密码即可连接成功。

sftp 登录

文末

如果没有特殊要求建议首选SFTP。

还有一个TFTP在后面继续介绍,因为这个服务涉及一些不同的命令。

转载请注明:文章转载自 http://www.320g.com/
本文地址:http://www.320g.com/fwq/12553.html
考高分网交流群

扫一扫加入QQ交流群

和更多志同道合朋友一起交流,分享干货资料!
创奇学院客服

扫一扫加客服微信

有疑问请咨询创奇学院微信号,在线为您解答!
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 Copyright 320g.com Rights Reserved. Powered · 创奇学院

ICP备案号:陇ICP备2020003353号