linux 加密安全之AWK

密钥

  密钥一般是一串字符串或数字,在加密或者解密时传递给加密或者解密算法,以使算法能够正确对明文加密或密文解密。

加密算法

  已知的加密算法有对称和非对称加密,也就是说你想进行加解密操作的时候需要具备密钥和加解密算法

对称加密

  对称加密的算法是加密解密使用的是相同的密钥,因此对称加密算法要保证安全的话,密钥要做好保密,只能让使用的人知道,不能公开

非对称加密

  在非对称加密算法中有公钥和私钥两种密钥,其中,公钥是公开的,不需要保密,私钥由个人持有,必须妥善保管和注意保密。加密和解密使用两种不同的密钥,这是一种常见的

  应用很广的非对称加密算法

非对称加密方法

  1 公钥私钥使用原则

    每一个公钥对应一个私钥

    密钥对中,大家都知道的是公钥,只有自己知道的是私钥。如果用其中一个密钥加密数据,则只有使用对应的密钥才可以解密

    如果用其中一个密钥可以进行数据解密,则该数据必然是对应的那个密钥进行的加密

  2 例:加密

    A想给B发送一段文字。但是不想让别人看到,因此想用非对称密钥加密这段文字,当然B需要有一对公钥和私钥:

      B将它的公钥发送给A

      A用B的公钥加密这段文字,然后传送给B

      B用自己的私钥解密A发过来的消息

      通过这几步,B就能成功的接受到A发送的信息,并达到了保密的目的

  3 例:解密

    如果B想给A发信息那就简单多了

      B用自己的私钥加密这段信息发送给A

      A用B之前发过的公钥解密这段信息

公钥认证

  在公钥加密解密的描述通讯过程看似简单,但想想这个过程A怎么知道B在回信过程中,有没有人被人修改过,这就涉及到数字签名的概念

数字签名原理

  要达到这个目的,一般是对信息做一个HASH计算得到一个HASH值,注意,这个过程是不可逆的。也就是说无法通过HASH值推出原来的内容,在把这个信息发送出去的时            候,  把这个HASH值加密后作为一个签名和信息一起发出去。接收方在收到信息后,会重新计算HASH值,并和信息所带的HASH值进行对比,如果一致,说明信息没有被篡改          过,因为这里的HASH计算可以保证不同的内容一定会得到不同的HASH值,所以只要内容一被修改,根据信息内容计算的HASH值就会变化,当然,不坏好意的人也可以修改信        息内容的同时也修改HASH值,从而让他们可以相匹配,为了防止这种情况,HASH值一般都会加密后再和信息一起发过去

数字签名使用方式

  例;

    B给A回信时,采用了数字签名方式

      1B先用HASH对信件生成一个HASH值

      2B使用自己的私钥对HASH值进行加密,这样就生成了数字签名

      3B将这个签名附在要回复的信息后面,一起发送给A

      4A收到B的信息后,取下数字签名,并通过B的公钥解密,得到信件的摘要

      5A在对B发送的信息本身使用B指定的HASH函数,将得到的结果同上一步解密得到的摘要进行对比,如果一致,说明没有被篡改过

数字证书

  问题就这样结束了吗?远没有,试想,虽然A确定了B回给他的信息是未修改过的,但怎么确定回信息的就是B?如果有不怀好意的C把A保存的B的公钥偷偷换成自己的,并冒用        B的名义给A发信息呢?

  要解决这个问题,A只要能确定自己持有的公钥到底是不是B的就可以了,这就需要用到数字证书

  数字证书是用来验证公钥所属的用户身份。在日常生活中,如果我们要验证一个人的身份,通常的做法是查看他的身份证。我们信任身份证颁发机构即政府机构的公信力,因此       只要验证一个人的身份证不是伪造的,我们就相信这个人的身份和身份证上所描述的是一致的。

  数字证书就是一个人或者组织在网络世界中的身份证,其发证机关是证书管理机构(CA),CA用自己的私钥对用户身份信息(主要是用户名和用户的公钥)进行签名,改签名          和用户身份一起就形成了证书

数字证书的构成

  证书发布机构

  证书的有效期

  公钥

  证书所有者

  签名所使用的的算法

  指纹以及指纹算法

数字证书生成过程

  

客户端通过SSH远程登录服务器

    1 客户端与服务器的连接,使用用户名和密码的形式登录

    

    2 服务器与服务器间的免密登录

      

  免密登录配置

    

  多台服务器间免密登录

    1生成公钥和私钥

      

[[email protected] .ssh]#ssh-keygen 

    2 将公钥追加到

[[email protected] .ssh]#cat id_rsa.pub > authorized_keys

    3 将自己的私钥和authorized_keys文件拷贝到各节点即可

 

[[email protected] .ssh]#scp id_rsa authorized_keys [email protected]192.168.1.110:/root/.ssh/

AWK

  使用方法

    awk ‘{pattern + action}‘ {filenames}

  我们先从最简单的了解awk

    

    上图中,我们只使用了AWK执行了一个打印动作,将testd的内容打印了一遍

  awk是逐行处理的,逐行处理的意思就是说,当awk处理一个文本时,会一行一行进行处理,处理完当前行,再处理下一行,awk默认以"换行符"为标记,识别每一行,也就是            说,awk跟我们人类一样,每次遇到"回车换行",就认为是当前行的结束,新的一行的开始,awk会按照用户指定的分割符去分割当前行,如果没有指定分割符,默认使用空格作        为分隔符。

    

    $0表示整行,$NF表示最后一个字段

    注意,$NF和NF表达的意思不一样,NF表示当前行被分割开后,一共有几个字段

   我们一次可以输出多列,注意用逗号分割

    

   我们还可以自己添加字段

    

  现在,我们来认识下一Pattern,也就是我们所说的模式

    AWK 包含两种特殊的模式:BEGIN 和 END

      BEGIN指文本处理之前执行的操作

      END指处理完所有行之后处理的操作

         例:

          处理之前

          

          执行之后

          

        我们可以结合BEGIN模式和END模式一起使用

          

    关系表达式

      找出哪个用户bash 时以bin/bash 结尾的

        

  控制语句

    

      if-else

        

         条件判断

          

    while

        

    数组

      

      

          

  

原文地址:https://www.cnblogs.com/maxuebin/p/11072351.html

时间: 2024-10-15 01:45:59

linux 加密安全之AWK的相关文章

Linux加密压缩

Linux加密压缩 2014年2月25日 11:38 压缩: zip -re filename.zip filename // 回车,输入2次密码 zip -rP passwork filename.zip filename  // passwork是要输入的密码 解压: unzip filename.zip // 按提示输入密码 unzip -P passwork filename.zip // passwork是要解压的密码,这个不会有提示输入密码的操作 来自为知笔记(Wiz)Linux加密

Linux 常用命令sed/awk/grep及正则表达式

linux命令sed和awk sed 主要功能 sed,stream editor.是一个"非交互式"字符流编辑器.输入流通过程序并输出到标准输出端. sed主要用来自动编辑一个或者多个文件(替换,插入,删除,追加,更改) 常见应用 抽区域 匹配正则表达式 比较域 增加,附加,替换 执行过程 sed一次处理一行或多行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区

Linux文本处理工具AWK使用解析

在linux系统上有三大文本处理工具分别是:grep,sed,awk,这次主要来看看awk. awk  option  'pattern'  file -F    指定分隔符: -v     申明自定义变量: 查看当前系统上,用户名和用户shell,输出分隔符为~. # awk -F: 'BEGIN{OFS="~";print "UserName   Shell"}{print $1,$7}END{print "================end===

Linux运维三剑客awk必会知识--模式与操作、内自变量、语句块、数组

Linux命令之三剑客awkawk简介awk是三剑客中的老大,awk强大之处在于,它不仅仅是命令,还是一门语言,功能非常强大.报告生成器,格式化后显示,可以自定义函数:awk的处理对象是记录与字段(域).awk处理数据的原理读取到数据后,首先将数据分片,默认是以空格为分隔符,分片后给每个分片引用位置变量参数,然后按照awk命令的条件打印记录与字段在讲awk参数.内置变量.数组之前,首先讲一下什么是记录,什么是字段?字段很好理解,就是默认以空格为分割符分片后的区域,每个区域就是一个字段,就像上面的

Linux下如何让 awk 使用 Shell 变量

当我们编写 shell 脚本时,我们通常会在脚本中包含其它小程序或命令,例如 awk 操作.对于 awk 而言,我们需要找一些将某些值从 shell 传递到 awk 操作中的方法.那么如何让 awk 使用 Shell 变量呢?兄弟连Linux培训接下来为大家介绍一下: 有两种可能的方法可以让 awk 使用 shell 变量: 1. 使用 Shell 引用 让我们用一个示例来演示如何在一条 awk 命令中使用 shell 引用来替代一个 shell 变量.在该示例中,我们希望在文件 /etc/pa

LINUX 三剑客老大(AWK) 日常工作总结

一.Linux 系统连接状态篇: 1.查看TCP连接状态; netstat -nat |awk '{print $6}'|sort|uniq-c|sort -rn netstat -n | awk '/^tcp/ {++S[$NF]};END {for(ain S) print a, S[a]}' 或 netstat -n | awk '/^tcp/ {++state[$NF]}; END{for(key in state) print key,"t",state[key]}' net

Linux文本三剑客之awk的使用

文本处理三剑客: grep.egrep.fgrep:称为文本过滤工具 sed:称为流编辑器,行编辑器 awk:称为报告生成器,主要用于格式化文本输出 awk:Aho,Weinberher,Kernighan 由这个三个作者创建而成,最初是用在UXIN系统上面,后来被GNU组织不断对其进行更新,就形成了gawk,现在linux上用的都是gawk. [[email protected] tmp]# which awk /bin/awk [[email protected] tmp]# ll -d /

linux 文本三剑客之awk

awk简介 awk同sed.grep被称为linux文本处理三剑客,都起源于行编辑器ed.awk继承了行编辑器的特点,循环的读取文本的每一行(或者是分隔符分割的每一段文本)直至文本结束,但是awk加入了段分割符的概念.将每次读入的行进行再次分割.awk每次读取的行都只是未经过awk语句处理的对象.或读取行后会根据段分割符在将行分成多个对象.结构近似数组,然后进行指定语句的操作.作为一款报表生成器,作用是对对文本内容进行各种排版,进而格式化显示. awk有自己的语法,可以说是一款独立的编程语言.

linux文本处理三剑客——awk

一.awk简介 Aho, Weinberger, Kernighan三人联合开发的 报告生成器,格式化文本输出 有多种版本:New awk(nawk),GNU awk( gawk) linux上主流版本:gawk – 模式扫描和处理语言 二.gawk基本用法 awk [options] 'program' var=value file- awk [options] -f programfile var=value file- awk [options]  'BEGIN{ action;- } p