热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Blog.033SSH远程访问及控制、YUM基础

本章目录    1.SSH远程管理1.1配置OpenSSH服务端1.2sshd支持的登陆验证方式1.3使用SSH客户端程序2.密钥对验证的SSH体系2.1配置密钥对

本章目录

 

 

 

 

1. SSH 远程管理
  1.1 配置Open SSH 服务端
  1.2 sshd 支持的登陆验证方式
  1.3 使用 SSH 客户端程序
2. 密钥对验证的 SSH 体系
  2.1 配置密钥对验证的步骤
3. TCP Wrapper 访问控制
  3.1 TCP Wrapper 概述
  3.2 TCP Wrapper 保护机制
  3.3 TCP Wrapper 配置格式
  3.4 TCP Wrapper 访问机制
  3.5 TCP Wrapper 配置步骤
4. YUM
  4.1 YUM 概述
  4.2 准备安装源
  4.3 访问 YUM 仓库
  4.4 YUM 工具概述
  4.5 YUM 的一些命令格式

 

 

 

 

 

1. SSH 远程管理



  • SSH是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能;

  • 对通信双方的数据传输进行加密处理,其中包括用户登录时输入的用户口令;

  • 与早期的Telnet(远程登录)、rsh(远程执行命令)、rcp(远程文件控制)等相比,SSH协议提供了更好的安全性。


  1.1 配置Open SSH 服务端



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

  • 服务监听选项:端口(默认Tcp的22号端口)、地址、协议版本和DNS反向解析等

 

1 vim /etc/ssh/sshd_config #服务端配置文件
2 #Port 22 #监听端口为 22
3 #AddressFamily any #监听地址为任意网卡,也可以指定 Openssh 服务器的具体 ip
4 #LoginGraceTime 2m #登录验证时间为2分钟
5 #PermitRootLogin yes #禁止 root 用户登录
6 #MaxAuthTries 6 #最大重试次数为 6
7 #PermitEmptyPasswords no #禁止空密码用户登录
8 #UseDNS no #禁用 DNS 反向解析,以提高服务器的响应速度
9 ----------------------------------------------------------------------------------
10 配置允许和禁止用户登录:加@表示限制ip,注意允许和禁止不要同时使用!!
11 AllowUsers zhangsan #允许 zhangsan 登录
12 AllowUsers zhangsan@192.168.80.80 #只允许 zhangsan 通过 192.168.80.80 登录
13 DenyUsers lisi #禁止 lisi 登录

 

    例:只允许zhangsang、lisi、wangwu用户登录,且其中lisi用户仅能够从IP地址为192.168.80.80的主机远程登录。

 

1 vim /etc/ssh/sshd_config #修改服务端配置文件
2 -------------------------------------------------------
3 AllowUsers zhangsan lisi@192.168.80.80 wangwu #这里为添加的配置
4 -------------------------------------------------------
5 systemctl reload sshd #修改完记得重新加载

  1.2 sshd 支持的登陆验证方式

    sshd服务支持登录验证方式有:密码验证和密钥对验证,可以设置只使用其中一种,也可以都启用。



  • 密码验证

    以服务器中本地系统用户的登录名称、密码进行验证。这种方式使用最为简便,但从客户机角度来看,正在连接的服务器有可能被假冒,从服务器角度来看,当遭遇密码暴力破解攻击时防御能力比较弱。



  • 密钥对验证

    要求提供相匹配的密钥信息才能通过验证,通常先在客户机中创建一对密钥文件(公钥和私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证,增强了远程管理的安全性。



  • 公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密;

  • 不能根据一个密码来推算出另一个密钥;

  • 公钥对外公开,私钥只有私钥的持有人才知道。

  • 公钥和私钥要配对使用,如果用公钥对数据进行加密,只有用相对应的私钥才能解密;如果用私钥对数据进行加密,那么只有对应的公钥才能解密。

  • 当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。对于安全性要求较高的服务器,建议将密码验证方式禁用,只允许启用密码对验证方式;若没有特殊要求,则两种方式都可以。

  1.3 使用 SSH 客户端程序



  • SSH客户端的配置文件:/etc/ssh/ssh_config

  • 通过 ssh 命令可以远程登录 sshd 服务,为用户提供一个安全的 Shell 环境,以便于对服务器进行管理和维护。

  • 命令行格式:

 

1 ssh [选项] zhangsan@192.168.80.77 #指定登录用户、目标主机地址作为参数
2 ssh -p 20 zhangsan@192.168.80.77 #-p为指定端口

 



  • 当用户第一次登录 SSH 服务器时,必须接受服务器发来的 RSA 密钥(需要根据提示输入:yes)后才能继续验证,接受的密钥信息将保存到 ~/.ssh/known_hosts 文件中,密码验证成功以后,就登录到目标服务器的命令行环境中了。如下:

 

1 The authenticity of host '192.168.80.77 (192.168.80.77)' can't be established.
2 ECDSA key fingerprint is SHA256:sRKz60ZIwaIjOXejXaNdZp69M/aygMdkunCMR7a3u+4.
3 ECDSA key fingerprint is MD5:be:42:dd:a7:be:d9:96:f3:9d:8a:0c:20:b6:65:c9:2e.
4 Are you sure you want to continue connecting (yes/no)? yes #接受密钥
5 root@192.168.80.77's password: #输入密码

 



  • 如果 sshd 服务器使用了非默认的端口号(如:1234),则在登录时必须通过 -p 选项指定端口号:

 

1 ssh -p 1234 root@192.168.80.77 #指定端口
2 root@192.168.80.77's password: #输入密码

 

2. 密钥对验证的 SSH 体系
  2.1 配置密钥对验证的步骤

① 在客户端创建密钥对:
② 将公钥文件上传至服务器:
③ 在服务器中导入公钥文本:
④ 在服务端验证并设置ssh 代理功能,实现免交互登录:

3. TCP Wrapper 访问控制
  3.1 TCP Wrapper 概述



  • TCP Wrappers (TCP封套)

  • 将 TCP 服务程序“包裹”起来,代为监听 TCP 服务程序的端口,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序。

  • 大多数 Linux 发行版,TCP Wrappers 是默认提供的功能。rpm -q tcp_ wrappers 查看是否安装程序。

  • TCP Wrappers 机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制。

  • 对应的两个策略文件为 /etc/hosts.allow /etc/hosts.deny,分别用来设置允许和拒绝的策略。

  3.2 TCP Wrapper 保护机制

    TCP Wrappers保护机制的两种实现方式:



  • 直接使用tcpd程序对其他服务程序进行保护,需要运行tcpd程序。

  • 由其他网络服务程序调用libwrap.so. 链接库,不需要运行tcpd程序。此方式的应用更加广泛,也更有效率。

  • 使用ldd命令可以查看程序的libwrap.so. 链接库;

  • 命令:ldd $ (which ssh)

  3.3 TCP Wrapper 配置格式

 

    (1)命令行格式:<服务程序列表> : <客户端地址列表>

    (2)服务程序列表:



  • ALL:代表所有的服务。

  • 单个服务程序:如“vsftpd"。

  • 多个服务程序组成的列表:如“vsftpd, sshd”。

    (3)客户端地址列表:



  • ALL:代表任何客户端地址。

  • LOCAL:代表本机地址。

  • 多个地址以逗号分隔。

  • 允许使用通配符 “*” 和 "?” ,前者代表任意长度字符,后者仅代表一个字符。

  • 网段地址,如"192. 168.80.”或者192. 168.80.0/255.255.255.0。

  • 区域地址,如". benet . com"匹配benet.com 域中的所有主机。

 

 

  3.4 TCP Wrapper 访问机制

    (1)查看策略:



  • 首先检查 /etc/hosts.allow 文件,如果找到相匹配的策略,则允许访问;

  • 否则继续检查 /etc/hosts.deny 文件, 如果找到相匹配的策略,则拒绝访问;

  • 如果检查上述两个文件都找不到相匹配的策略,则允许访问。

    (2)“允许所有,拒绝个别”



  • 只需在 /etc/hosts.deny 文件中添加相应的拒绝策略。

    (3)“允许个别,拒绝所有”



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

  3.5 TCP Wrapper 配置步骤

例:只希望从IP地址为192.168.80.80的主机访问sshd服务,其他地址被拒绝。
① 主机1(192.168.80.77)的/etc/ hosts.allow配置文件内增加192.168.80.80主机2的ip;
② 主机1(192.168.80.77)的/etc/ hosts.deny配置文件内增加拒绝所有的配置;
③ 主机2(192.168.80.80)可以正常远程登录到主机1上;
④ 主机2(192.168.80.78)被拒绝登录到主机1上。

4. YUM
  4.1 YUM 概述



  • 基于 RPM 包构建的软件更新机制

  • 可以自动解决依赖关系

  • 所有软件包由集中的 YUM 软件仓库提供

  4.2 准备安装源

(1)软件仓库的提供方式:



  • FTP 服务:ftp://......

  • HTTP 服务:http://......

  • 本地目录:file://......

(2)RPM 软件包的来源



  • CentOS 发布的 RPM 包集合

  • 第三方组织发布的 RPM 包集合

  • 用户自定义的 RPM 包集合

(3)构建CentOS 7 软件仓库



  • RPM 包来自 CentOS 7 DVD 光盘

  • 通过 FTP 方式提供给客户机

1 [root@localhost~]# mkdir -p /var/ftp/centos7
2 [root@localhost~]# cp -rf /media/cdrom/* /var/ftp/centos7
3 [root@localhost~]# rpm -ivh /madia/cdrom/Packages/vsftpd-3.0.2.21.el7.x86_64.rpm
4 [root@localhost~]# systemctl start vsftpd
5 [root@localhost~]# systemctl enable vsftpd

 

(4)在软件仓库中加入非官方 RPM 包组



  • 包括存在以来关系的所有 RPM 包

  • 使用 createrepo 工具建立仓库数据文件

1 [root@localhost~]# mkdir /var/ftp/other
2 [root@localhost~]# cd /var/ftp/other          # 非官方的 RPM 文件要先放入此目录中
3 [root@localhost other]# createrepo -g /media/cdrom/repodata/repomd.xml ./

 

  4.3 YUM 仓库

    (1)访问 YUM 仓库:



  • 为客户机指定 YUM 仓库位置:

  • 配置文件:/etc/yum.repos.d/centos7.repo

    (2)本地 YUM 仓库:



  • 直接以 CentOS 7 光盘作软件仓库:

  • 将 CentOS 7 光盘放入光驱

  • 挂载镜像到仓库位置,URL 地址为 file:///media/cdrom

  4.4 YUM 工具概述

    (1)关于 YUM 命令



  • 由软件包 yum-3.4.3-150.el7.centos.noarch 提供

    (2)YUM 的配置文件



  • 基本设置:/etc/yum.conf

  • 仓库设置:/etc/yum.repos.d/*.repo

  • 日志文件:/var/log/yum.log

    (3)YUM 缓存目录



  • 存放下载的软件包、仓库信息等数据

  • 位于 /var/cache/yum/$basearch/$releasever

  • 清除 YUM 缓存命令:yum clean all

 

  4.5 YUM 的一些命令格式

    (1)查询软件包



  • yum list [软件名]

  • yum info [软件名]

  • yum search <关键词>

  • yum whatprovides <关键词>

    (2)查询软件包组



  • yum grouplist [包组名]

  • yum groupinfo <包组名>

    (3)软件安装



  • yum install [软件名]

  • yum groupinstall <包组名>

    (4)升级软件



  • yum update

  • yum groupupdate

    (5)卸载软件



  • yum remove <软件名>

  • yum groupremove <包组名>

 

 

 

-

 


原文链接:https://www.cnblogs.com/cityfell/p/14962723.html



推荐阅读
author-avatar
海底来的沙3
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有