SSH远程连接及Tcp wrappers访问控制

SSH远程连接及Tcp wrappers访问控制

一.SSH远程管理

1.概述

SSH (Secure Shel1) 是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。因此SSH协议具有很好的安全性。

SSH客户端<-------------------------------网络------------------>SSH服务端

数据传输是加密的,可以防止信息泄漏数据传输是压缩的,可以提高传输速度

SSH客户端:Putty、 Xshell、 CRT

SSH服务端: OpenSSH

OpenSSH 是实现 SSH 协议的开源软件项目,适用于各种 UNIX、Lnux 操作系统。

Centos 7系统默认已安装openssh相关软件包,并已将 sshd 服务添加为开机自启动。执行“svstemctl start sshd”命令即可启动 sshd 服务

sshd 服务默认使用的是TCP的 22端口

sshd 服务的默认配置文件是/etc/ssh/sshd config

ssh_config:是针对客户端的配置文件

sshd_config:是针对服务端的配置文件

2.配置文件介绍

①服务端配置文件常用选项

/etc/ssh/sshd_config

Port 22                        #监听端口号22
ListenAddress 0.0.0.0          #监听地址为任意网段,也可以指定openSSH服务器的具体IP
LoginGraceTime 2m              #登录验证时间为 2 分钟
PermitRootLogin no             #禁止 root 用户登录
MaxAuthTries 6                 #一次登录最大尝试次数为6次
PermitEmptyPasswords no        #禁止空密码用户登录
UseDNS no                      #禁止DNS反向解析
AllowUsers zhangsan lisi wangwu@61.23.24.25   #允许用户zhangsan lisi远程连接,同时wangwu只能从61.23.24.25IP登录,多个用户用空格隔开
DenyUsers                                    #禁止用户登录
②实验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.SSH服务验证

①密码验证
对服务器中本地系统用户的登录名称、密码进行验证。简便,但可能会被暴力破解
②密钥验证
要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对案钥文件(公钥、私销),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证。能增强安全性,且可以免交互登录。
公钥和私钥的关系:
公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密。
不能根据一个密钥来推算出另一个密钥。
公钥对外公开,私钥只有私钥的持有人才知道。
当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。可根据实际情况设置验证方式。
vim /etc/ssh/sshd_config
PasswordAuthentication yes                       #启用密码验证
PubkeyAuthentication yes                         #启动密钥对验证
AuthorizedKeysFile      .ssh/authorized_keys     #指定指定公钥库文件
③ssh密钥对配置
客户端 ssh发起端  
客户端配置密钥对
ssh-keygen -t rsa/ecdsa   创建密钥对,在自己家目录的.ssh目录中生成 私钥和公钥文件 (xxx.pub)
                ssh-copy-id -i 公钥文件    目标主机用户@目标主机IP/主机名
服务端  被ssh连接端     在指定用户家目录的.ssh目录(权限(700))中生成公钥认证文件 authorized keys(权限600)
客户端使用 ssh [-p 端口] 用户@IP使用密钥对的密码验证 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

④使用ssh登录程序
ssh [选项]  用户名@IP地址

远程连接时同时可以执行命令

ssh -p 端口号 用户名@IP 命令 选项 文件/目录

4.scp远程复制

下行复制(从远程主机下载文件到本机)

scp  -p(大写) 端口 用户名@IP:文件/目录的绝对路径  本机文件/目录    #将远程主机中的/etc/passwa文件复制到本机

上行复制(从本机上传文件到远程主机)

scp -p(大写) 端口 -r 文件/目录(绝对路径) 用户名@IP:远程主机的目录                 #将本机的/etc/ssh 目录复制到远程主机(-r复制目录时必须添加)

在这里插入图片描述

scp传输文件时遇到同名文件时会直接覆盖不会提示。

`(which 程序名)`   #双撇号会把括号内的命令的执行结果显示处理
$(which 程序名)    #双撇号会把括号内的命令的执行结果显示处理

5.sftp远程传输文件

sftP 用户名@IP地址
sftp>ls
sftp>put  上传文件到ftp目录
sftp>get  下载文件到ftp目录
sftp>quit  退出

在这里插入图片描述

二.TCP Wrappers(访问控制)

1.保护原理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vo27sSDZ-1682060140609)(C:\Users\v\Desktop\云计算学习资料\liunx\4.20 SSH远程连接及TCPwrappers访问控制\csdn截图\保护原理.png)]

2.访问策略

TCP wrappers 机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制。
对应的两个策略文件为/etc/hosts.allow 和/etc/hosts.deny,分别用来设置允许和拒绝的策略

3.格式

<服务程序列表>:<客户端地址列表>
(1) 服务程序列表ALL: 代表所有的服务。单个服条程序:如“vsftpd”。多个服条程序组成的列表: 如“vsftpd,sshd”。
(2) 客户端地址列表
ALL: 代表任何客户端地址。
LOCAL: 代表本机地址。
多个地址以逗号分隔
允许使用通配符“*”和“?”,前者代表任意长度字符,后者仅代表一个字符网段地址,如“192.168.80, 或者 192.168.80.0/255.255.255.0区域地址,如“.benet.com"匹配 benet.com 域中的所有主机

4.基本原则

TCP wrappers 机制的基本原则:
首先检查/etc/hosts.allow文件,
如果找到相匹配的策略,则允许访问;否则继续检查/etc/hosts.deny文件,
如果找到相匹配的策略,则拒绝访问:如果检查上述两个文件都找不到相匹配的策略,则允许访问。

"允许所有,拒绝个别"只需在/etc/hosts.deny文件中添加相应的拒绝策略

"允许个别,拒绝所有”除了在/etc/hosts.allow中添加允许策略之外,还需要在/etc/hosts.deny文件中设置"ALL:ALI"的拒绝策略

5.总结

TCP Wrappers判断是否支持ldd $(which 程序名)sshd vsftpd telnetipop3 imap
程序文件路径-> libwrap.so.*
访问策略:先看 /etc/hosts.allow ,有则放通有则拒绝如果都没有则放通所有-> 再看 /etc/hosts.deny ,
格式:程序列表:客户端列表
sshd,vsftpd:IP1,IP2,IP3,...

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值