非对称加密简介:
对称加密算法在加密和解密时使用的是同一个秘钥;
而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是
公开密钥(public key,简称公钥)
私有密钥(private key,简称私钥)
常用的DES、三 重DES、AES等都属于对称加密;
RSA, EI Gamal, ECC, Knapsack, etc都属于非对称加密;
       与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。
公开密钥与私有密钥是一对。
       如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;
       如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
       因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
 
简单理解:
                加密             公钥加密——私钥解密
               
数字证书      私钥签名——公钥验证


使用秘钥登录linux:

一、在windows上使用 SSH Secure Shell Client   用密钥认证登录linux服务器

      1.在SSH Secure Shell Client  上选择  Edit->settings->Keys
     2. 点击“Generate New” 可选择 rsa dsa两种加密方式
     3. 输入生成Key的文件名和注释,打算使用空密码登录则Passphrase中不输入密码
     4. 完成
     5. 登录SSH Server,进入/root目录    
            再到Edit->Settings->key下,选择”upload”刚才的秘钥
           这样就把公钥上传到服务器了 z
     6. 因为SSH Server是Linux,而SSH Secure Shell Client客户端上Windows,所以密钥需要进行格式转换
         并把公钥追加到authorized_keys中
       cd $HOME/.ssh/
       ssh-keygen -i -f xxx.pub >> authorized_keys
     7. 修改sshd_config
     sudo vi /etc/ssh/sshd_config
     让这几项生效:
     RSAAuthentication yes                         设置是否使用RSA算法进行安全验证
     PubkeyAuthentication yes                    设置是否使用公钥进行安全验证
     AuthorizedKeysFile %h/.ssh/authorized_keys    
这里确定公钥的位置
     可选择关闭输入pasword认证:  
     PasswordAuthentication no

8. 重启sshd服务 sudo service sshd restart
     9. 连接即可,自己生成的keys在c:\Users\<username>\AppData\Roaming\SSH\UserKeys中

 
 
 
 
二、服务器之间配置免密  秘钥登陆
三台Linux 服务器     

 IP            Hostname                                           

192.168.0.1    node1

192.168.0.2    node2

192.168.0.3    node3

配置node1无密码连接node2和node3:

[root@node1 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #密钥存放位置
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): #输入密码(空密码 则直接回车)
Enter same passphrase again:  #再次输入密码
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:
SHA256:FGrYUe6qiaKaRXz4sp/HLWJJvDeUsGaV+++EKe9fKwc root@ceph-node1 关于 ssh-keygen的参数解释:http://www.cnblogs.com/wangkongming/p/6362397.html

将公钥传输至node2
 [root@ceph-node1 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.0.2
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.0.2's password:

输入node2的密码
Number of key(s) added: Now try logging into the machine, with:   "ssh 'root@192.168.200.130'"
and check to make sure that only the key(s) you wanted were added. 公钥添加成功 在node2 的/root目录下就是出现 .ssh文件夹,下面是对应的公钥文件。
在node1上ssh到node2,这样就能实现无密码访问了。

接着配置node1 对 node3的免密访问
 [root@ceph-node1 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.0.3 这只是在node1上配置了对于node2和node3的无密码访问,
接下来配置node2对node3对于其他服务器的无密码访问,只需要在对应的节点上做以上相同的操作即可。
————————————————
 
 
1.生成公钥私钥
                 $ ssh-keygen -t rsa -f ~/.ssh/id_rsa                    指定秘钥类型 目录 名字

Generating public/private rsa key pair.
Created directory '/home/hadoop/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/hadoop/.ssh/id_rsa.      私钥
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.   公钥
The key fingerprint is:
38:95:cf:a6:78:37:ea:77:3a:20:a1:13:db:3f:2a:72 hadoop@master.hadoop
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|         .       |
|        o        |
|    . .o o       |
|     =o.S +      |
|    + oo.o       |
|     ..oo.o      |
|  . E  .ooo..    |
|   o ..ooo.+     |
+-----------------+
2.将公钥拷贝到/home/hadoop/.ssh/authorized_key   中
      #cat /home/hadoop/.ssh/id_rsa.pub>>/home/hadoop/.ssh/authorized_key
    设定权限
      #chmod 600 ~/.ssh/authorized_key 

3.修改stricthostkeychecking  参数

     StrictHostKeyChecking"如果设为"yes",ssh将不会自动把计算机的密匙加入"$HOME/.ssh/known_hosts"文件,且一旦计算机的密匙发生了变化,就拒绝连接。
       可以修改全局变量  vi /etc/ssh/ssh_config
       在这里设置   StrictHostKeyChecking no
       也可以只修改用户的ssh环境
       新建  ~/.ssh/config  
      Host 0.0.0.0
      StrictHostKeyChecking no
最后改下权限  
    chmod 600 ~/.ssh/config  
 
 

总结注意事项

1、文件和目录的权限千万别设置成chmod 777.这个权限太大了,不安全,数字签名也不支持。我开始图省事就这么干了

2、生成的rsa/dsa签名的公钥是给对方机器使用的。这个公钥内容还要拷贝到authorized_keys

3、linux之间的访问直接 ssh 机器ip

4、某个机器A生成自己的RSA或者DSA的数字签名,将公钥给目标机器B,然后B接收后设定相关权限(公钥和authorized_keys权限),这个B就能 被生成数字签名的机器A无密码访问了

 
 

https:

先说一下什么是http

http超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,
互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。
设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。

那什么是https

HTTPS是身披SSL外壳的HTTP。HTTPS是一种通过计算机网络进行安全通信的传输协议。
经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。
HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。
PS:TLS是传输层加密协议,前身是SSL协议,由网景公司1995年发布,有时候两者不区分。

非对称加密 秘钥登录 https的更多相关文章

  1. 对称加密,非对称加密,数字签名,https

    对称加密和非对称加密 对称加密 概念:加密秘钥和解密秘钥使用相同的秘钥(即加密和解密都必须使用同一个秘钥) 特点:一对一的双向保密通信(每一方既可用该秘钥加密,也可用该秘钥解密,非对称加密是多对一的单 ...

  2. Linux SSH 免秘钥登录

    SSH 免秘钥登录 ssh:是一种安全加密协议 ssh  username@hostname     ssh gongziyuan.com:以当前用户登录该机器(如果不是当前用户,需要这么干:ssh ...

  3. linux普通用户免秘钥登录(xshell工具环境)

    一.xshell生成密钥 1)工具->新建用户密钥生成向导 2)选择密钥类型.密钥长度(默认即可) 3)生成密钥(生成公钥和私钥) 4)为密钥加密,增加密码(可选),建议加上 5)将公钥保存为文 ...

  4. SSH设置秘钥登录

    设置 SSH 通过密钥登录 我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器.但是,一般的密码方式登录,容易有密码被暴力破解的问题.所以,一般我们会将 SSH 的端口设置为默 ...

  5. 配置SSH使用秘钥登录

    使用密码远程登录ssh还是有比较大的风险的,比较安全的方法是使用秘钥登录 配置步骤如下 首先生成秘钥 ssh-keygen  (直接默认回车也可以,生成的秘钥和公钥默认防止在/root/.ssh/文件 ...

  6. ssh无秘钥登录

    服务器1:172.16.20.136 服务器2:172.16.20.134 在服务器2上输入:ssh-keygen -t rsa           (一路回车) scp /root/.ssh/id_ ...

  7. linux使用秘钥登录(禁用root密码登录)

    目的:为了巩固线上外网服务器的安全,避免黑客攻击植入木马,初步决定禁用root密码登录(安全强度低),统一使用秘钥登录(4096位长度,安全性较高) 具体操作如下: 一.生成ssh秘钥: ssh-ke ...

  8. SSH配置免秘钥登录

    一.  SSH 配置免秘要登录 配置SSH 免秘要登录,虽然就那么几步,但总是会出现点小问题,今天就做下记录.SSH 免秘钥就是让两台机器相互信任,不需要输入密码就能相互登录.配置相互信任就是把各自的 ...

  9. ssh设置免秘钥登录

    系统:CentOS7.2 需求:A服务器的fab用户需要使用www用户免秘钥登录到B服务器 换句话说,就是在A服务器的fab用户下,ssh    www@B服务ip   -p  端口  ,然后登录过去 ...

随机推荐

  1. Redis高可用方案-哨兵与集群

    Redis高可用方案 一.名词解释   二.主从复制 Redis主从复制模式可以将主节点的数据同步给从节点,从而保障当主节点不可达的情况下,从节点可以作为 后备顶上来,并且可以保障数据尽量不丢失(主从 ...

  2. Codeforces Round #615 (Div. 3) 题解

    A - Collecting Coins 题意: 给你四个数a,b,c,d,n.问你是否能将n拆成三个数A,B,C,使得A+a=B+b=C+c. 思路: 先计算三个数的差值的绝对值abs,如果abs大 ...

  3. Codeforces Choosing Laptop 题解

    这题实在是太水了,具体看注释 蒟蒻的方法是一边找过时的电脑一边比大小 蒟蒻不才,只会C++ 其实还会free basic,但它已经过时了 附: 本题洛谷网址 Codeforces网址 希望蒟蒻的题解能 ...

  4. 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...

  5. 痞子衡嵌入式:语音处理工具pzh-speech诞生记(2)- 界面构建(wxFormBuilder3.8.0)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具pzh-py-speech诞生之界面构建. 之前痞子衡设计过一个串口调试助手pzh-py-com,也专门写过一篇关于其界面构 ...

  6. 现在啊还不太清楚 nodejs和coffeescript 的关系

    我怎么会思考这个问题,今天看到用coffeescript做的一个服务引导 挺好 看博客里提 安装node之后 呢 npm 可以安装coffeescript 难道 coffee 是 node的 一个方言 ...

  7. 使用属性创建区域 (Creating Areas with Attributes) | 使用区域 | 高级路由特性 | 精通ASP-NET-MVC-5-弗瑞曼

  8. GP工作室的项目计划书

    目录 零点六一八--项目计划书 一.团队简介 1.1团队名称:GP工作室(Gold Point Studio) 1.2团队成员 1.3成员简介 1.4团队特色 二.项目介绍 2.1项目名称: 零点六一 ...

  9. 使用Python写的WingPro7 Pyside2 和 PyQt5插件

    pyside2的 import wingapi import subprocess pyside2_uic = "pyside2-uic" pyside2_qrc = " ...

  10. 对于传统scnece-classfication的分析

    BoW模型最初应用于文本处理领域,用来对文档进行分类和识别.BoW 模型因为其简单有效的优点而得到了广泛的应用.其基本原理可以用以下例子来给予描述.给定两句简单的文档: 文档 1:“我喜欢跳舞,小明也 ...