linux网络服务学习(3):tftp与sftp

1.TFTP

TFTP是基于UDP协议 实现的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,不具备通常的FTP的许多功能。端口号为69

1.1 centos7安装TFTP

yum -y install tftp tftp-server
#安装tftp客户端与服务器端

同时,tftp功能也需要安装并开启xinted功能

yum install xinted -y
systemctl start xinted
systemctl enable xinted

1.2修改配置文件,开启TFTP服务

linux下的tftp服务是由xinetd所设定的,默认情况下tftp处于关闭状态,所以要修改tftp的配置文件来开启tftp服务。

tftp的配置文件是**/etc/xinetd.d/tftp**

(1)建立tftp的工作目录

mkdir /var/tftp
#工作目录的位置没有要求,找一个空间足够的目录就可以

(2)修改配置文件**/etc/xinetd.d/tftp**

下图为配置文件原内容,

需要进行2处改动:

*disable= no

#添加这一项

*server_args= -s /var/tftp -c

#修改这一项,-s后接自己创建的tftp服务器工作目录。-c指能创建文件

(3)重新启动xinted服务,使配置文件的改动生效

systemctl restart xinetd 

1.3登录方式与命令

(1)客户端登录服务器端

tftp 服务器端ip

(2)命令

可以在tftp模式下输入?查看命令

常用的有:

上传:put

下载:get

退出:quit

ls、cd、rm等都不可用

2.SSH中的一部分:SFTP

2.1与FTP的区别

SSH软件包中已经包含了一个叫作SFTP的安全文件信息传输子系统,SFTP使用sshd守护进程来完成相应的连接和答复操作。所以它同样使用22端口,与FTP有很大区别

|------|------------|-------------------|
| | FTP | SFTP |
| 应用协议 | FTP协议 | ssh协议 |
| 安全性 | 明文传输,安全性很差 | 基于SSH来加密传输文件,安全性高 |
| 默认端口 | 21 | 22 |
| 效率 | 高 | 比FTP低 |

2.2登录流程

2.2.1创建专用于sftp连接的用户

(1)先创建一个sftp用户的工作目录

mkdir /var/sftp

要保证这个文件夹的权限是755,当然如果是用root用户创建的,那么直接就是755

(2)创建sftp用户

groupadd sftpgroup 
#创建sftp组

useradd -g sftpgroup -d /var/sftp/test -s /sbin/nologin sftpuser
#-d指定家目录,这个家目录要在工作目录之下

passwd sftpuser 

(3)修改sftp用户家目录的权限

chmod 755 /var/sftp/tset

2.2.2修改配置文件/etc/ssh/sshd_config

将配置文件中原有的下面这行注释掉
#Subsystem sftp /usr/libexec/openssh/sftp-server

#在文件末尾添加如下几行
Subsystem sftp internal-sftp

Match Group sftpgroup
#对sftpgroup组进行设置

X11Forwarding no

AllowTcpForwarding no

ChrootDirectory /var/sftp/
#限定向上只可访问至/var/sftp

ForceCommand internal-sftp
#限定只用于SFTP服务

配置文件修改完成后,重启ssh服务

systemctl restart sshd

2.2.3客户端登录

sftp的登录格式与ssh相同:sftp 账户名@IP地址

除了上述过程中创建的sftp用户外,也可以使用ssh服务器本地用户包括root用户进行登录

2.3 SFTP模式的命令

sftp的命令与ftp基本相同,可以通过?查询。下面是一些常用命令:

cd、ls、pwd、mkdir

put:上传(可以用put+Tab键查看客户端当前目录下的文件)

mput:同时上传多个

get:下载

mget:同时下载多个

delete:删除文件

mdelete:同时删除多个文件

rmdir:删除目录

rename:重新命名

quit:退出

相关推荐
萨格拉斯救世主3 分钟前
戴尔R930服务器增加 Intel X710-DA2双万兆光口含模块
运维·服务器
无所谓จุ๊บ4 分钟前
树莓派开发相关知识十 -小试服务器
服务器·网络·树莓派
Jtti6 分钟前
Windows系统服务器怎么设置远程连接?详细步骤
运维·服务器·windows
yeyuningzi20 分钟前
Debian 12环境里部署nginx步骤记录
linux·运维·服务器
EasyCVR1 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
wowocpp2 小时前
ubuntu 22.04 硬件配置 查看 显卡
linux·运维·ubuntu
萨格拉斯救世主2 小时前
jenkins使用slave节点进行node打包报错问题处理
运维·jenkins
川石课堂软件测试3 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
龙哥说跨境3 小时前
如何利用指纹浏览器爬虫绕过Cloudflare的防护?
服务器·网络·python·网络爬虫
pk_xz1234564 小时前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器