一 丶实现无密码的远程管理

  1.生成公钥 私钥
    [root@room9pc14 桌面]# ssh-keygen
    [root@room9pc14 桌面]# ls /root/.ssh/

  2.上传公钥到虚拟机A
    [root@room9pc14 桌面]# ssh-copy-id root@192.168.4.7

  3.上传公钥到虚拟机B
    [root@room9pc14 桌面]# ssh-copy-id root@192.168.4.207

  4.补充在真机上
    [root@room9pc14 桌面]# ssh-add (声明私钥)

二、加密与解密

  对称加密:加密/解密用同一个密钥

  非对称加密:加密/解密用不同的密钥 {公钥(加密)、私钥(解密)}  

  口令认证登录   PasswordAuthentication no|yes
  密钥对认证登录

  对称加密
    DES,Data Encryption Standard

    AES,Advanced Encryption Standard

  非对称加密
    RSA,Rivest Shamirh Adleman

    DSA,Digital Signature Algorithm

  Hash散列技术,用于信息摘要(数据完整性)

    MD5,Message Digest Algorithm 5

    SHA,Secure Hash Algorithm
    特点:
      1. 根据输入的文本(长度不限),生成固定长度(比如128位)的摘要文本

      2. 只要输入的文本不同,则生成的摘要文本也不一样

GPG非对称加密/解密:

GPG介绍:

  GNU Privacy Guard

  最流行的数据加密、数字签名工具软件

例题:

  #useradd usera
  #useradd userb
  #echo 123456 | passwd --stdin usera
  #echo 123456 | passwd --stdin userb

+++++++++++++++++++++++++++

gpg 做对称加/解密

  usera ------ > userb
  发                   接
  加                   解

  #ssh -X usera@localhost
  #head -5 /etc/passwd > a.txt
  #cat a.txt
  #gpg -c a.txt  (提示输入密码)
  # ls a.txt.gpg
  # mv a.txt.gpg /tmp/

  #ssh -X userb@localhost
  #gpg -d /tmp/a.txt.gpg > my.txt (提示输入密码)
  #cat my.txt
+++++++++++++++++++++++++++
gpg 做非对称加/解密

  uesra ------- > userb
  发       接
  加       解
  公钥     私钥

userb
  ssh -X userb@localhost
  1 创建秘钥对(公钥 私钥)
    #rm -rf ~/.gnupg
    #gpg --gen-key
    #ls ~/.gnupg

    pubring.gpg(公钥)  secring.gpg(私钥)

  2 导出公钥
    #gpg -a --export  [真实姓名]  > /tmp/userb.pub

usera
  ssh -X usera@localhost
  1 导入userb用户的公钥
    #rm -rf ~/.gnupg
    #gpg  --import  /tmp/userb.pub
    #ls ~/.gnupg
  2 使用公钥加密明文文件,共享给userb用户
    #tail -5 /etc/passwd > test.txt
    #gpg  -e  -r  [真实姓名]  test.txt
    #ls  test.txt.gpg
    #mv test.txt.gpg   /tmp/
  3 userb用户使用私钥解密共享的加密文件
    #gpg -d /tmp/test.txt.gpg > my2.txt  (提示输入密码,调用私钥的密码)
    #cat my2/tmp/test.txt.gpg

+++++++++++++++++++++++++++++++
gpg 做数字签名(私钥签名 公钥验证签名)
  软件签名与验证过程

    软件官方以私钥对软件包执行数字签名

    用户下载软件包、软件官方的公钥

    以官方公钥验证软件包签名,确保软件完整性
userb 
  #head -2 /etc/passwd > my4.txt
  #gpg -b my4.txt (要求输入私钥密码) //数字签名
  #ls my4.txt.sig
  #mv my4.txt* /tmp/
  #ls /tmp/my4.txt*
  #gpg --fingerprint

usera 
  #gpg --verify /tmp/my4.txt.sig

ssh免密登陆和加密解密的更多相关文章

  1. SSH免密登陆原理及实现

    声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 一.SSH简介 SSH(Secure Shell)是一种通信加密协议,加密算法包括:RSA.DSA等. RSA:非对称加密算法,其安全性基于极其困难 ...

  2. ssh免密登陆:sshpass -p [passwd] ssh -p [port] root@192.168.X.X

    正文: ssh免密登陆:sshpass -p [passwd] ssh -p [port] root@192.168.X.X

  3. ssh免密登陆配置

    目录 ssh免密登陆 在A工作站上输入 B服务器上输入 登陆 ssh初次登陆询问 1.单次取消 2.ansible中增加链接参数 3.修改ansible配置参数[推荐] 4.修改服务器上的ssh_co ...

  4. Linux Hadoop集群搭建第二步:--------SSH免密登陆

    内容和Linux 搭建 Hadoop集群--Jdk配置相关联 三台虚拟机的操作 Linux SSH免密登陆: 参考网址:http://www.cnblogs.com/999-/p/6884861.ht ...

  5. ssh免密登陆及时间设置

    1.ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa // 在自己主机生成私钥和公钥 2.scp id_rsa.pub centos@s201:/home/centos ...

  6. SSH免密登陆配置过程和原理解析

    SSH免密登陆配置过程和原理解析 SSH免密登陆配置过很多次,但是对它的认识只限于配置,对它认证的过程和基本的原理并没有什么认识,最近又看了一下,这里对学习的结果进行记录. 提纲: 1.SSH免密登陆 ...

  7. [提供可行性脚本] RHEL/CentOS 7 多节点SSH免密登陆

    实验说明: 在自动化部署时,会经常SSH别的机器去操作,然而每次的密码认证却很令人烦躁,尤其是很长的密码,因此SSH免密登陆就显得必不可少: 在机器数目很多的时候,使用更过的往往是Ansible分发并 ...

  8. 使用rsync基于ssh免密登陆进行备份或目录同步

    日常工作中有很多的备份工作,rsync是一个很不错的工具,尝试使用基于ssh免密登陆的方式进行备份,测试成功,是可行且方便的方法,撰文记之,以备后用: 1.A主机root用户对B主机root用户做ss ...

  9. 【Linux】ssh-copy-id三步实现ssh免密登陆

    一.本地机器上使用ssh-keygen产生公钥私钥对 ssh-keygen -t rsa -C "XXXX@163.com" --->执行完会在~/.ssh/下生成公钥私钥对 ...

随机推荐

  1. getopt、getopt_long和getopt_long_only解析命令行参数

    一:posix约定: 下面是POSIX标准中关于程序名.参数的约定: 程序名不宜少于2个字符且不多于9个字符: 程序名应只包含小写字母和阿拉伯数字: 选项名应该是单字符或单数字,且以短横 '-' 为前 ...

  2. HTML静态网页--JavaScript-语法

    1.基本数据类型: 字符串.小数.整数.日期时间.布尔型等. 2.变量: 都是通用类型var,可以随便存储其他类型的值,可以直接使用,不用定义,但习惯上定义.定义变量:var a:所有变量定义 都用v ...

  3. logback 打印mybatis sql mybatis 日志打印sql语句和返回结果

    logback 打印sql语句: 在logback日志文件中开启debug模式 <logger name="com.ibatis" level="DEBUG&quo ...

  4. LEMP--如何在Ubuntu上安装Linux、Nginx、MySQL和PHP

    简介 LEMP是用来搭建动态网站的一组软件,首字母缩写分别表示Linux.Nginx(Engine-X).MySQL和PHP. 本文将讲述如何在Ubuntu安装LEMP套件.当然,首先要安装Ubunt ...

  5. Python--day70--ORM查询练习

    ORM查询练习: import os import sys if __name__ == '__main__': # 加载Djang00项目的配置信息 os.environ.setdefault(&q ...

  6. PPP验证对比

  7. H3C 显示RIP当前运行状态及配置信息

  8. [转]分布式监控工具Ganglia 介绍 与 集群部署.

    如果你目的很明确就是冲着标题来的,不爱看我唠叨,请直接进入第二个分割线之后的内容. 其实之前就是有做Swift监控平台的打算的,但是因为没什么硬性需求么,也不要紧的,就一直搁置了.最近实验室来了个大二 ...

  9. element-ui—dialog使用过程中的坑

    场景一:我们将dialog写成一个可复用的公共组件用于显示不同内容(如表格操作中的修改或添加的弹窗),之后发现dialog的遮罩将弹出层(点击修改或添加后理应由一个弹窗显示出来)都盖住了,而我想要的效 ...

  10. win10 uwp 使用 LayoutTransformer

    如果需要使用旋转,那么很容易把图片旋转的布局被裁剪.如果需要旋转的控件还在指定的 Grid 内,就需要使用布局的旋转.本文告诉大家如何使用 LayoutTransformer.需要知道,uwp是没有 ...