环境
- ubuntu 22.04 64bit
- windows 11 64bit
简介
TFTP
(Trivial File Transfer Protocol
)是一种简单的文件传输协议,通常用于在联网设备之间传输配置文件和固件映像。在本文中,我们将在 Ubuntu 22.04
系统上完成安装和设置 TFTP
。
服务器安装配置
首先,打开终端,执行下面命令来安装软件包
sudo apt install tftpd-hpa
完成后,通过 ps
来查看服务是否启动
ps ax | grep tftp
接下来,再去编辑下 tftpd
的配置文件 /etc/default/tftpd-hpa
文件中,几个配置项的含义是:
TFTP_USERNAME
变量设置TFTP
服务器运行的用户TFTP_DIRECTORY
变量设置TFTP
服务器查找要提供的文件的目录TFTP_ADDRESS
变量设置TFTP
服务器监听的IP
地址和端口TFTP_OPTIONS
变量设置TFTP
服务器的各种选项,如防止文件被删除或覆盖的-secure
选项
这里,我就修改了
TFTP_DIRECTORY
,比如 /home/xgx/tftp_share
TFTP_OPTIONS
,添加了一个参数 --create
编辑好后,保存退出
如果 tftp_share
文件夹不存在的话,也要创建
mkdir /home/xgx/tftp_share
然后设置一下文件夹的权限
sudo chown -R nobody:nogroup /home/xgx/tftp_share
sudo chmod -R 777 /home/xgx/tftp_share
上述命令将目录的所有者和组分别设置为 nobody
和 nogroup
,并赋予每个人读取、写入和执行权限
最后,重启一下 tftp
服务
sudo systemctl restart tftpd-hpa.service
如果,服务启动失败,可以通过命令 sudo systemctl status tftpd-hpa.service
来查看出错信息
安装客户端测试
服务器端已经准备好了,接下来,我们就去安装个客户端测试一下
sudo apt install tftp-hpa
客户端 tftp
的使用很简单
tftp <TFTP_SERVER_IP_ADDRESS>
其中,<TFTP_SERVER_IP_ADDRESS>
替换为 TFTP
服务器的 IP
地址。比如我们这里
tftp 192.168.1.128
连接上后,可以输入 ?
来查看可使用的指令
比如,要拉取一个文件,可以这样
# test.c,这个文件是存储在 home/xgx/tftp_share 下的
tftp> get test.c
# 如果 test.c,这个文件是存储在 home/xgx/tftp_share/a 下的
tftp> get a/test.c
上传文件,操作类似
tftp> put <LOCAL_FILE_PATH> <REMOTE_FILE_NAME>
其中,<LOCAL_FILE_PATH>
替换为本地计算机上文件的路径,<REMOTE_FILE_NAME>
替换为 TFTP
服务器上文件的名称,不写的话,保持原文件名不变
# 将当前文件夹下的 test.py 上传到服务器上,文件名也是 test.py
tftp> put test.py
退出客户端,直接输入 quit
即可。
windows中开启客户端
打开控制面板,找到程序
然后,点击启用或关闭Windows功能
打开TFTP客户端