FTP、ssh远程访问及控制

网友投稿 255 2022-11-02

FTP、ssh远程访问及控制

FTP

什么是FTP

FTP (File TransferProtocol,文件传输协议)是典型的c/s架构的应用层协议,需要由服务端软件、客户端软件两个部分共同实现文件传输功能。FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。tcp协议: 20

21端口:用于传输指令

20端口:用于传输数据

IFTP是一种文件传输协议,它支持两种模式,一种方式叫做Standard (也就是Active,主动方式),一种是Passive(也就是PASV,被动方式)。Standard模式FTP的客户端发送PORT命令到FTP server。 Passive模式FTP的客户端发送PASVO令到FTP Server

Standard模式

FTP客户端首先和FTP Server的TCP

21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。FTPserver必须和客户端建立一个新的连接用来传送数据。

主动模式:

1)FTP连接请求(用户、密码连接模式命令端口等)

2)FTP服务器响应(ACK),服务器21号端口和客户端(高位端口)FTP会话连接

3)FTP服务器从自己的20号端口连接客户端发送连接请求是主动模式命令提供端口(高位)

4)最后客户端发送ACK确认,开始数据进行传输

Passive模式

在建立控制通道的时候和Standard模式类似,当客户端通过这个通道发送PASV命令的时候,FTP

server打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP server将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。

被动模式:

1)FTP连接请求(用户、密码连接模式命令端口等)

2)FTP服务器响应(ACK)服务器21号端口和客户端(高位)建立FTP会话连接,但是这个响应过程会告诉客户端,服务器开放一个高位端口等你来连接

3)客户端给自己中的一个高位端口连接服务器响应高位端口

4)服务器给客户端一个ACK的响应,接下来就是数据传输过程

FTP作用与工作原理

FTP作用

作用: Internet上用来传送文件的协议。

VSFTP全称 (very secure FTP)

VSFTP模式: c/s模式

FTP服务器默认使用TCP协议的20、21端口与客户端进行通信

20端口用于建立数据连接,并传输文件数据

21端口用于建立控制连接,并传输FTP控制命令

FTP工作原理与流程

FTP数据连接分为两种模式:

主动模式和被动模式

FTP 会话包含了两个通道,控制通道和数据传输通道, FTP的工作有两种模式,一种是主动模式,一种是被动模式,以FTP Server为参照,主动模式,服务器主动连接客户端传输:被动模式,等待客户的连接

主动模式:服务器主动发起数据连接

被动模式:服务器被动等待数据连接

实验:搭建和配置FTP服务

查看是否安装软件包vsftp,没有安装进行yum安装

开启FTP服务

切换服务配置目录,并且备份

修改配置文件进入vim /etc/vsftpd/vsftpd.conf

给FTP的根目录下的pub子目录最大权限

重启服务

检测

设置用户模式登录

将allow_writeable_chroot=YES允许被限制的用户主目录具有写的权限

重启服务

创建个用户让其登录

黑白名单

userlist_list默认位yes,为黑名单禁用

名单里由zhux所有不可登录了

SSH远程管理

openSSH服务器

SSH (Secure Shell)协议

是一种安全通道协议

对通信数据进行了加密处理,用于远程管理

OpenSSH

服务名称: sshd

服务端主程序: /usr/sbin/sshd

服务端配置文件: /etc/ssh/sshd_config

服务监听选项

端口号、协议版本、监听IP地址

禁用反向解析

[root@localhost -]# vi /etc/ssh/sshd_config

Port 22

ListenAddress 172.16.16.22

Protocol 2

UseDNS no

更改Port 22 为Port 2020 ,常规登录将不可登录 ,需要-p 2020

用户登录控制

禁用root用户、空密码用户

限制登录验证时间、重试次数

AllowUsers, DenyUsers

[root@localhost -]# vi /etc/ssh/sshd_config

LoginGraceTime 2m

PermitRootLogin no

MaxAuthTries 6

PermitEmptyPasswords no

AllowUsers jerry admin@61.23.24.25 AllowUsers不要与DenyUsers同时用

登录验证方式

密码验证:核对用户名、密码是否匹配

密钥对验证:核对客户的私钥、服务端公钥是否匹配

[root@localhost -]# vi /etc/ssh/sshd_config

PasswordAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys 启用密码验证、密钥对验证、指定公钥库位置

密码验证:

SSH客户端程序

ssh命令——远程安全登录

端口选项:-p 22

ssh user@hostscp

命令——远程安全复制

格式1: scp user@host:file1 file2

格式2: scp file1 user@host:file2

sftp命令——安全FTP上下载

sftp user@host

xshell

windows下一款功能非常强大的SSH客户端软件

构建密钥对验证的SSH体系:

在客机创造密钥对 ,上传公钥文件 ,将其导入到服务端用户lisi的公钥数据库 , 最后使用服务端的用户身份进行登录验证。

一创造密钥对

二将公钥文件给予对方用户

进入vim /etc/ssh/sshd_config

修改原本yes改成no wq报错并推出

systemctl restart sshd 重启服务

注意:两边机器都需更改此配置

3登录

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot中到底该如何解决跨域问题
下一篇:基于AHB接口的高性能LCD控制器IP设计
相关文章

 发表评论

暂时没有评论,来抢沙发吧~