运维学习第五六天

########################

########第九单元########

########################

 

####1.远程连接主机####

 

功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell

 


————————————————————————————————————————————————————————

####2.客户端连接方式####

ssh 远程主机用户@远程主机ip

[root@desktop0 ~]# ssh root@172.25.0.11

The authenticity of host '172.25.0.11 (172.25.0.11)' can't be established.

ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.

Are you sure you want to continue connecting (yes/no)? yes ##连接陌生主机时需要建立认证关系

Warning: Permanently added '172.25.0.11' (ECDSA) to the list of known hosts.

root@172.25.0.11's password:                                                 ##远程用户密码

Last login: Mon Oct  3 03:13:47 2016

[root@server0 ~]#                                                                       ##登陆成功

 

ssh 远程主机用户@远程主机ip -X                                          ##调用远程主机图形工具

ssh     远程主机用户@远程主机ip command                         ##直接在远程主机运行某条命令

 

————————————————————————————————————————————————————————— 

 

 

####3.sshkey加密####

1.生成公钥私钥

[root@server0 ~]# ssh-keygen                                                 ##生成公钥私钥工具

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):[enter] ##加密字符保存文件(建议用默认)

Created directory '/root/.ssh'.

Enter passphrase (empty for no passphrase): [enter]           ##密钥密码,必须>4个字符

Enter same passphrase again: [enter]                                    ##确认密码

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

ab:3c:73:2e:c8:0b:75:c8:39:3a:46:a2:22:34:84:81 root@server0.example.com

The key's randomart image is:

+--[ RSA 2048]----+

|o                |

|E.               |

|..               |

|.  . o           |

|.o. * . S        |

|oo.o o   .       |

|+ =. .  .        |

|o. oo.+..        |

|    ..o*.        |

+-----------------+

[root@server0 ~]# ls /root/.ssh/

id_rsa  id_rsa.pub

id_rsa          ##私钥,就是钥匙

id_rsa.pub  ##公钥,就是锁

 

未分发钥匙


2.添加key认证方式

[root@server0 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub  root@172.25.0.11

ssh-copy-id                  ##添加key认证方式的工具

-i                                    ##指定加密key文件

/root/.ssh/id_rsa.pub   ##加密key

root                                ##加密用户为root

172.25.0.11                  ##被加密主机ip

 

3.分发钥匙给client主机

[root@server0 ~]# scp /root/.ssh/id_rsa root@172.25.0.10:/root/.ssh/

 



4.测试

 

[root@desktop0 ~]# ssh root@172.25.0.11 ##通过id_rsa直接连接不需要输入用户密码

Last login: Mon Oct  3 03:58:10 2016 from 172.25.0.250

[root@server0 ~]#

 


————————————————————————————————————————————————————————

####4.提升openssh的安全级别####

1.openssh-server配置文件

/etc/ssh/sshd_config

78 PasswordAuthentication yes|no ##是否开启用户密码认证,yes为支持no为关闭

48 PermitRootLogin yes|no ##是否允许超级用户登陆

49 AllowUsers student westos ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell

50 DenyUsers westos ##用户黑名单








#####################

##第十单元.系统日志##

#####################


______________________________________________________________________________________________________ 


####1.系统日志默认分类####

 

/var/log/messages ##系统服务及日志,包括服务的信息,报错等等

/var/log/secure ##系统认证信息日志

/var/log/maillog ##系统邮件服务信息

/var/log/cron ##系统定时任务信息

/var/log/boot.log ##系统启动信息


__________________________________________________________________________________________________ 


####2.日志管理服务rsyslog####

 

1.rsyslog负责采集日志和分类存放日志

2.rsyslog日志分类

vim /etc/rsyslog.conf ##主配置文件

服务.日志级别 /存放文件

*.* /var/log/westos

 

systemctl restart rsyslog

 

###格式###

 

日志设备(类型).(连接符号)日志级别   日志处理方式(action)

 

####日志设备(可以理解为日志类型):####

auth           ##pam产生的日志

authpriv     ##ssh,ftp等登录信息的验证信息

cron          ##时间任务相关

kern          ##打印

mail          ##邮件

mark(syslog)–rsyslog ##服务内部的信息,时间标识

news         ##新闻组

user          ##用户程序产生的相关信息

uucp          ##unix to unix copy, unix主机之间相关的通讯

local 1~7    ##自定义的日志设备

 

####日志级别####

———————————————————————-

debug        ##有调式信息的,日志信息最多

info             ##般信息的日志,最常用

notice        ##最具有重要性的普通条件的信息

warning      ##警告级别

err              ##错误级别,阻止某个功能或者模块不能正常工作的信息

crit              ##严重级别,阻止整个系统或者整个软件不能正常工作的信息

alert            ##需要立刻修改的信息

emerg        ##内核崩溃等严重信息

none           ##什么都不记录

 

##注意:从上到下,级别从低到高,记录的信息越来越少

##详细的可以查看手册: man 3 syslog

 

####连接符号####

———————————————————————-

.xxx:    表示大于等于xxx级别的信息

.=xxx:表示等于xxx级别的信息

.!xxx:表示在xxx之外的等级的信息

 

#####实例####

1. 记录到普通文件或设备文件::

*.*     /var/log/file.log    # 绝对路径

*.*     /dev/pts/0

测试: logger -p local3.info ‘KadeFor is testing the rsyslog and logger ‘   logger 命令用于产生日志

 

2. 发送给用户(需要在线才能收到)

*.*   root

*.*   root,kadefor,up01      # 使用,号分隔多个用户

*.*   *                                  # *号表示所有在线用户

 

3. 忽略,丢弃

local3.*   ~                       # 忽略所有local3类型的所有级别的日志

 

4. 执行脚本::

local3.*    ^/tmp/a.sh       # ^号后跟可执行脚本或程序的绝对路径

# 日志内容可以作为脚本的第一个参数.

#  可用来触发报警

 

####日志同步####

 

systemctl stop firewalld ##关闭两台主机的火墙

 

配置日志发送方

*.*             @172.25.0.11 ##通过udp协议把日志发送到11主机,@udp,@@tcp

 

配置日志接受方

15 $ModLoad imudp ##日志接收插件

16 $UDPServerRun 514 ##日志接收插件使用端口

 

 

netstat -anulpe | grep rsyslog

udp        0      0 0.0.0.0:514             0.0.0.0:*                           0          122073     32654/rsyslogd      

udp6       0      0 :::514                  :::*                                0          122074     32654/rsyslogd      

 

测试

> /var/log/messages ##两边都作

logger test message ##日志发送方

 

tail -f /var/log/message ##日志接收方

 

 

####日志采集格式####

$template WESTOS, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"

 

%timegenerated% ##显示日志时间

%FROMHOST-IP% ##显示主机ip

%syslogtag% ##日志记录目标

%msg% ##日志内容

\n ##换行

 

$ActionfileDefaultTemplate WESTOS

 

*.info;mail.none;authpriv.none;cron.none                /var/log/messages;<<WESTOS>>

 

___________________________________________________________________________________________________ 

 

####3.日志分析工具journal#####

 

systemd-journald ##进程名称

 

journalctl ##直接执行,浏览系统日志

-n 3        ##显示最新3条

-p err       ##显示报错

-f             ##监控日志

--since --until ## --since "[YYYY-MM-DD] [hh:mm:ss]" 从什么时间到什么时间的日志

-o verbose ##显示日志能够使用的详细进程参数

##_SYSTEMD_UNIT=sshd.service服务名称

##_PID=1182进程pid

 

 

systemd-journald管理

##默认情况下此程序会忽略重启前的日志信息,如不忽略:

mkdir /var/log/journal

chown root:systemd-journal /var/log/journal

chmod 2755 /var/log/journal

killall -1 systemd-journald

ls /var/log/journal/4513ad59a3b442ffa4b7ea88343fa55f

system.journal user-1000.journal

 

 __________________________________________________________________________________________________

 

####4.时间同步####

 

1.服务端

yum install chrony -y ##安装服务

 

vim /etc/chrony.conf ##主配置文件

21 # Allow NTP client access from local network.

22 allow 172.25.0.0/24 ##允许谁去同步我的时间

27 # Serve time even if not synchronized to any NTP server.

28 local stratum 10 ##不去同步任何人的时间,时间同步服务器级别

 

systemctl restart chronyd

systemctl stop firewalld

 

2.客户端

vim /etc/chrony.conf

  3 server 0.rhel.pool.ntp.org iburst

  4 server 1.rhel.pool.ntp.org iburst====> server ntpserverip iburst

  5 server 2.rhel.pool.ntp.org iburst====>

  6 server 3.rhel.pool.ntp.org iburst

 

systemctl restart chronyd

 

测试:

[root@localhost ~]# chronyc sources -v

210 Number of sources = 1

 

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.

 / .- Source state '*' = current synced, '+' = combined , '-' = not combined,

| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.

||                                                 .- xxxx [ yyyy ] +/- zzzz

||                                                /   xxxx = adjusted offset,

||         Log2(Polling interval) -.             |    yyyy = measured offset,

||                                  \            |    zzzz = estimated error.

||                                   |           |                         

MS Name/IP address         Stratum Poll Reach LastRx Last sample

===============================================================================

^* 172.25.0.11                  10   6   377    41   +170us[ +201us] +/-  191us

 


 ______________________________________________________________________________________________________

 

####5.timedatectl命令####

timedatectl status ##显示当前时间信息

set-time                 ##设定当前时间

set-timezone        ##设定当前时区

set-local-rtc 0|1    ##设定是否使用utc时间


########################

#第十一单元 管理网络#

########################

 


————————————————————————————————————————————————————————


####1.ip基础知识####

1.ipv4

2进制32位-----10进制

 

172.25.0.10/255.255.255.0

172.25.0.10:ip地址

255.255.255.0:子网掩码

子网掩码255位对应的ip位为网络位

子网掩码0对应的ip位为主机位




——————————————————————————————————————————————————————— 

####2.配置ip####

<<图形化>>

1.图形界面

nm-connection-editor


2.文本化图形

nmtui

 

<<命令>>

ifconfig +网卡+ ip    +netmask        ##临时设定

 

nmcli connection add type ethernet con-name westos ifname eth0 autoconnect yes

nmcli connection add type ethernet con-name westos ifname eth0 ip4 ip/24

nmcli connection delete westos

nmcli connection show

nmcli connection down westos

nmcli connection up westos

nmcli connection modify "westos" ipv4.addresses newip/24

nmcli connection modify "westos" ipv4.method <auto|manual>

nmcli device connect eth0

nmcli device disconnect eth0

nmcli device show

nmcli device status

 

 

 

<<文件>>

dhcp                    ##动态获取

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0    ##接口使用设备

BOOTPROTO=dhcp ##网卡工作模式

ONBOOT=yes    ##网络服务开启时自动激活

NAME=eth0        ##网络接口名称

wq

systemctl restart network

 

 

 

static|none        ##静态网络

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0   ##设备

BOOTPROTO=static|none  ##设备工作方式

ONBOOT=yes  ##开启网络服务激活设备

NAME=eth0       ##网络接口名称

IPADDR=172.25.0.100   ##IP

NETMASK=255.255.255.0 | PREFIX=24 ##子网掩码

 

 —————————————————————————————————————————————————————————

 

####3.gateway 网关####

 

1.路由器

主要功能是用来作nat的

dnat 目的地地址转换

snat 源地址转换

 

2.网关

路由器上和自己处在同一个网段的那个ip

 

3.设定网关

systemctl stop NetwrokManager

vim /etc/sysconfig/network                                                ##全局网关

GATEWAY=网关ip

 

vim /etc/sysconfig/network-scripts/ifcfg-网卡配置文件 ##网卡接口网关

GATEWAY=网关ip

 

systemctl restart netwrok

 

route -n ##查询网关

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

0.0.0.0   (网关)172.25.0.254    0.0.0.0         UG    0      0        0 eth0

172.25.0.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0

 4.利用脚本配置ip


———————————————————————————————————————————————————————— 

 

####4.dns####

1.dns

dns是一台服务器

这太服务器提供了回答客户主机名和ip对应关系的功能

 

2.设定dns

vim /etc/resolv.conf

nameserver dns服务器ip

 

vim /etc/sysconfig/network-scripts/ifcfg-网卡配置文件

DNS1=dns服务器ip

 

3.本地解析文件

vim /etc/hosts

ip 主机名称

 

4.本地解析文件和dns读取的优先级调整

/etc/nsswitch.conf

 38 #hosts:     db files nisplus nis dns

 39 hosts:      files dns ##files代表本地解析文件,dns代表dns服务器,那个在前面那个优先

 

 

5.dhcp服务的配置





#################################

####   第十二单元   ####
#不同系统之间的文件传输#

#################################

 ————————————————————————————————————————————————————————————————————————————

####1.文件归档####

1.

文件归档,就是把多个文件变成一个归档文件

2.

tar c ##创建

f ##指定归档文件名称

t ##显示归档文件中的内容

r ##向归档文件中添加文件

--get ##取出单个文件

--delete ##删除单个文件

x ##取出归档文件中的所有内容

-C ##指定解档目录

-z ##gz格式压缩

-j ##bz2格式压缩

-J ##xz格式压缩



————————————————————————————————————————————————————————————————————————————— 

####2.压缩####

gz

gzip etc.tar ##压缩成gz格式

gunzip  etc.tar.gz ##解压gz格式压缩包

tar zcf etc.tar.gz /etc ##把文件归档为tar并压缩成gz

tar zxf etc.tar.gz ##解压并解档gz格式压缩包

 

bz2

bzip2 etc.tar ##压缩成bz2格式

bunzip2 etc.tar.bz2 ##解压bz2格式压缩包

tar jcf etc.tar.bz2 /etc ##把文件归档为tar并压缩成bz2

tar jxf etc.tar.bz2 ##解压并解档bz2格式压缩包

 

xz

xz etc.tar ##压缩成xz格式

unxz  etc.tar.xz ##解压xz格式压缩包

tar Jcf etc.tar.xz /etc ##把文件归档为tar并压缩成zx

tar Jxf etc.tar.xz ##解压并解档xz格式压缩包

 

zip

 

zip -r etc.tar.zip etc.tar ##压缩成zip格式

unzip etc.tar.zip ##解压zip格式压缩包

 


 ————————————————————————————————————————————————————————————————————————————

####3.系统中的文件传输####

scp     file username@ip:/dir          ##上传

scp    username@ip:/dir/file   /dir  ##下载

 

rsync [参数] file username@ip:/dir

rsync  -r   ##同步目录

        -l      ##不忽略链接

        -p     ##不忽略文件权限

        -t      ##不忽文件时间戳

        -g    ##不忽文件所有组

        -o    ##不忽文件所有人

        -D    ##不忽略设备文件






################

##第十三单元##
###软件安装###

################

 


####1.软件名称识别####

[abrt-addon-ccpp]-[2.1.11-19].[el7].[x86_64].rpm ##rpm结尾的适用与redhat操作系统

       ||      ||         ||       ||

    软件名称    软件版本软件适用系统 64位

 

 ————————————————————————————————————————————————————————————————————————————

####2.如何安装软件####

1.rpm

rpm -ivh name.rpm ##安装 ,-v显示过程,-h指定加密方式为hash

-e name ##卸载

-ql name ##查询软件生成文件

-qlp name.rpm ##查询软件安装后会生成什么文件

-qa ##查询系统中安装的所有软件名称

-qa |grep name ##查询软件是否安装

-q name ##。。。。

-qp name.rpm ##查询软件安装包安装后的名字

-qf filename ##查看filename属于那个安装包

-ivh name.rpm --force ##强制安装

        -ivh name.rpm --nodeps --force ##忽略依赖性强制安装

-qi name ##查看软件信息

-Kv name.rpm ##检测软件包是否被篡改

-qp name.rpm --scripts ##检测软件在安装或卸载过程中执行的动作

 

2.yum

yum

上层软件管理工具,最重要的功能是可以解决软件的倚赖关

yum能够投入使用的前提是必须要有yum源,以及配置源的指向文件


————————————————————————————————————————————————————————————————————————————

###server源端####

1.从网络上下本机系统版本匹配的iso镜像文件

rhel-server-7.1-x86_64-dvd.iso

 

2.把rhel-server-7.1-x86_64-dvd.iso挂在到/mnt以便访问镜像中的文件

mount rhel-server-7.1-x86_64-dvd.iso /mnt

 

3.配置本机yum源指向

rm -fr /etc/yum.repos.d/*

vim /etc/yum.repos.d/yum.repo

[Server]

name=rhel7.1

baseurl=file:///mnt

gpgcheck=0

 

4.安装资源共享服务

yum install httpd -y

systemctl stop firewalld

systemctl disable firewalld

systemctl start httpd

systemctl enable httpd

 

5.建立共享目录,并挂在镜像文件到共享目录上

mkdir /var/www/html/rhel7.1

umount /mnt

mount rhel-server-7.1-x86_64-dvd.iso /var/www/html/rhel7.1

 

6.测试

在浏览器中输入:http://本机ip/rhel7.1

可以看到镜像中的内容

 

7.修改本机yum源指向

[server]

name=rhel7.1

baseurl=file:///var/www/html/rhel7.1

gpgcheck=0

 

8.开机自动挂在iso

vim /etc/rc.d/rc.local

mount rhel-server-7.1-x86_64-dvd.iso /var/www/html/rhel7.1

:wq

 

chmod +x /etc/rc.d/rc.local

 

9.第三方软件仓库的搭建

把所有的rpm软件包放到一个目录中,这个目录中只能存在rpm文件

createrepo -v /rpm存放目录

vim /etc/yum.repos.d/xxx.repo

[Software]

name=software

baseurl=file:///rpm存放目录

gpgcheck=0

 

####client指向端####

vim /etc/yum.repos.d/xxxx.repo ##仓库指向文件位置

[xxxx] ##自定义软件仓库名称

name=xxxx ##自定义软件仓库描述

baseurl=ftp://|http://|file:// ##仓库位置

gpgcheck=0 ##不检测gpgkey

##gpgkey表示软件的出品logo

 

例子:

vim /etc/yum.repos.d/yum.repo

[Server]

name=rhel7.1

baseurl=ftp://172.25.0.254/pub/rhel7.1

gpgcheck=0

:wq

 

yum clean all ##清空yum缓存识别新配置

———————————————————————————————————————————————————————————————————————————— 

####yum命令####

yum install softwarename ##安装

repolist                                  ##列出设定yum源信息

remove softwarename       ##卸载

list softwarename               ##查看软件源中是否有次软件

list all                                     ##列出所有软件名称

list installd                            ##列出已经安装的软件名称

list available                         ##列出可以用yum安装的软件名称

clean all                                 ##清空yum缓存

search softwareinfo            ## 搜索软件名字

whatprovides filename       ##在yum源中查找包含filename文件的软件包

update                                   ##更新软件

history                                    ##查看系统软件改变历史

reinstall softwarename      ##重新安装

info softwarename              ##查看软件信息

groups list                             ##查看软件组信息

groups info softwaregroup ##查看软件组内包含的软件

groups install softwaregroup       ##安装组件

groups remove softwaregroup    ##卸载组件





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值