Linux网络服务——远程访问及控制(ssh远程访问实验)(五)

一、SSH远程管理

1.1 SSH(secure Shell)协议

SSH是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制功能。
SSH对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。SSH协议提供了更好的安全性。用于远程管理。

1.2 openSSH

服务名称:sshd
服务端主程序:/usr/sbin/sshd
服务端配置文件:/etc/ssh/sshd_config

1.2.1 服务监听选项

sshd服务使用的默认端口号为22,必要时建议修改此端口号,并指定监听服务的具体ip地址,以提高在网络中的隐蔽性。除此之外,SSH协议的版本选用V2比V1的安全性要更好,禁用DNS反向解析可以提高服务器的响应速度。

[root@localhost ~]# vi /etc/ssh/sshd_config 
Port 22           //监听端口为22
ListenAddress 0.0.0.0           // 监听地址为0.0.0.0
Protocol 2                              //使用SSH V2协议
UseDNS no                          // 禁用DNS反向解析    

1.2.2 用户登录控制

禁用root用户、空密码用户
限制登录验证时间、重试次数
AllowUsers、DenyUsers

[root@localhost ~]# vi /etc/ssh/sshd_config 
LoginGraceTime 2m       //登录验证时间为两分钟
PermitRootLogin no      //精致root用户登录
MaxAurhTries 6            //最大重试次数为6
PermitEmptyPasswords no    //禁止空密码用户登录
AllowUsers zhangsan   //允许zhangsan从任意终端登录
AllowUsers admin@192.168.100.100// 只允许admin从固定终端登录

[root@localhost ~]# ssh -o NumberOfPasswordPrompts=8 // 增大连接次数为8次
MaxSessions 10 允许10 个终端找你连接
[root@localhost ~]# service sshd reload

1.2.3 登录验证次数

密码验证:核对用户名、密码是否正确
秘钥对验证:核对客户的私钥、服务端公钥是否匹配

[root@localhost ~]# vi /etc/ssh/sshd_config 
PasswordAuthentication yes     //启用密码验证
PubkeyAuthentication yes      //  启用密钥对验证
AuthorizedKeysFile      .ssh/authorized_keys           //指定公钥库数据文件
[root@localhost ~]# service sshd reload

二、构建密钥对验证的SSH体系

2.1 整体实现过程

第一步:由客户端的用户zhangsan在本地创建密钥对
创建密钥对
私钥文件:id_rsa
公钥文件:id_rsa.pub
第二步:上传公钥文件id_rsa.pub
第三步:导入公钥信息,导入到服务端用户lisi的公钥数据库
公钥库文件:~/.ssh/authorized_keys
第四步:使用密钥对验证方式
以服务端的用户lisi的身份进行登录

2.1.1 在客户机中创建秘钥对

ssh-keygen可用的加密算法:RSA、ECDSA或DSA

2.1.2 将公钥文件上传至服务器

任何方式均可(FTP、Email、SCP、HTTP…)
[zhangsan@localhost ~]$ scp ~/.ssh/id_ecdsa.pub root@172.16.16.22:/tmp

2.1.3 在服务器中导入公钥文本

将公钥添加至目标用户的公钥库
默认公钥库位置:~/.ssh/authrized_keys

2.1.4 客户端使用秘钥对验证登录

验证用户:服务端的用户lisi
验证密码:客户端的用户zhangsan的私钥短语
[zhangsan@localhost ~]$ ssh lisi@172.16.16.22
[lisi@localhost ~]$whoami
lisi

2.1.5 第2步和第3步可以采用另外一种方法

ssh-copy-id -i 公钥文件 user@host验证
验证密码后,会将公钥自动添加到目标主机user宿主目录下的.ssh/aauthrized_keys文件结尾
[zhangsan@localhost ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub lisi@172.16.16.22

三、使用SSH客户端程序

ssh命令——远程安全登录
ssh user@host 端口选项:-p 22
scp命令——远程安全复制
格式1:scp user@host:file1 file2 对方赋值给本地
格式2:scp file1 user@host:file2 本地复制给对方
sftp命令——安全ftp上下载
sftp user@host

四、TCP Wrappers

4.1 TCP Wrappers概述

  • 保护原理在这里插入图片描述
  • 保护机制的实现方式
    方式1:通过tcpd程序对其他服务程序进行包装
    方式2:有其他服务程序调用libwrap.so.*链接库
  • 访问控制策略的配置文件
    /etc/hosts.allow
    /etc/hosts.deny

4.2 TCP Wrappers策略应用

4.2.1 设置访问控制策略

  • 策略格式:服务程序列表:客户机地址列表
  • 服务程序列表
    多个服务以逗号分隔,ALL表示所有服务
  • 客户机地址列表
    多个地址以逗号分隔,ALL表示所有服务
    允许使用通配符*和?
    网段地址,如192.168.1 或者 192.168.1.0/255.255.255.0
    区域地址,如.benet.com

4.2.2 策略的应用顺序

  • 检查hosts.allow,找到匹配则允许访问
  • 再检查hosts.deny,找到则拒绝访问
  • 若两个文件中均无匹配策略,则默认允许访问

4.2.3 策略应用实例

  • 仅允许从以下地址访问sshd服务
    主机192.168.100.100
    网段192.168.200.0/24
  • 禁止其他所有地址访问受保护的服务

[root@55 ~]# vim /etc/hosts.allow
sshd:192.168.100.100,192.168.200.*
[root@55 ~]# vim /etc/hosts.deny
sshd:ALL
    '优先读取allow,然后再读取deny'
    '如果做黑名单,name白名单就不用写'

五、实验ssh远程登陆

5.1 实验:认识使用管理远程登陆

实验环境
两台centos7.6虚拟机
实验步骤
1.开启两台虚拟机,改名test01,test02做分辨

在这里插入图片描述在这里插入图片描述
2.查看软件包安装情况和安装路径
在这里插入图片描述
3.查看端口,用户和ip地址在这里插入图片描述
4.test02机远程连接test01机
在这里插入图片描述
5.在test02新建一个文件夹,去test01查看
在这里插入图片描述
6.退出当前bash环境
在这里插入图片描述
7.进入服务端配置配置文件
在这里插入图片描述在这里插入图片描述在这里插入图片描述
8.重启服务,用test02进行ssh的root登录
在这里插入图片描述
9.test02机远程连接test01root在这里插入图片描述在这里插入图片描述
10.即使禁止了root登录,还是有风险。在test01里面创建用户wangwu,用test02远程连接服务端,再切换到root账户
在这里插入图片描述在这里插入图片描述
11.阻止该问题的方法,使用pam认证模块进入su,改配置文件,开启wheel认证模块在这里插入图片描述在这里插入图片描述
12.查看id,在test02远程登陆
在这里插入图片描述
wangwu不可以切换有用户
在这里插入图片描述
zhangsan可以切换用户
在这里插入图片描述
注意,在vim /etc/ssh/sshd_config中开启PermitRootLogin no后,一定要开启pam验证模块。

13.其他验证模块
授权操作
在这里插入图片描述
在这里插入图片描述
在没有设置默认情况下,三次就拒绝在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
14.黑白名单,白名单(仅允许某些用户,拒绝所有人,安全性场合高)
黑名单(仅拒绝某些用户,允许所有人,安全性场合低)在这里插入图片描述在这里插入图片描述
15.创建密钥对验证
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
保存,并重启服务在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
16.scp——远程复制在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
17.sftp在这里插入图片描述
在这里插入图片描述
18TCP Wrappers黑白名单
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

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

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值