HTTP + SSL/TLS = HTTPS
  • SSL(Secure Sockets Layer,安全套接字协议)
  • TLS(Transport Layer Security,传输层安全协议)
  • HTTP(HyperText Transfer Protocol ,超文本传输协议),让计算机之间可以进行明文数据交换,默认端口80.
  • HTTPS(HyperText Transfer Protocol Secure,超文本传输安全协议),用SSL/TLS对数据加密,再通过HTTP传输,保证数据的安全性,默认端口443.

SSL 与 TLS 区别

SSL与TLS都是用于互联网传输的加密协议。

  • SSL是有Netscape开发加密协议;

    • SSL 1.0版本没有公开发布;
    • SSL 2.0版本于1995年发布,简写成SSLv2, 于2011年被IETF废弃;
    • SSL 3.0版本于1996年发布,简写成SSLv3, 于2015年被IETF废弃;
  • TLS是基于SSL 3.0的一个新版本,原则上他的名字是SSL 4.0;只是IETF在把SSL标准化时把SSL名称改成了TLS。

CA及数字证书

证书颁发机构(CA, Certificate Authority)即颁发数字证书的机构,HTTP服务升级为HTTPS时,就需要数字证书来保证其通讯链路的安全,Let’s Encrypt 是免费提供此证书的公益机构。

  • 申领证书流程:

    1. 服务器先生成一对密钥(私钥+公钥);
    2. 公钥+服务器信息(域名、ip等),发送给CA机构;
    3. CA机构会根据收到的信息,核实身份并加密生成证书,此证书也只有CA机构的私钥才能解密,这样也就保证了域名与服务器ip的一一对应关系,保证通讯链路的安全性。
  • 使用证书

    1. 客户访问域名:「https://www.example.com」
      从CA机构获取域名对应证书,客户浏览器根据证书中公钥给需要传输的数据进行加密。
    2. 服务器获得数据后,用自己的私钥来解密数据,如果公钥与私钥数据不匹配,就算第三方获得数据,也无法解密。
  • 数字证书组成部分有:

    1. 主体信息(域名、公司名、地址、国家等);
    2. 有效期;
    3. Public Key;
    4. CA的签名;

Telenet + SSH = ssh

SSH(Security Shell) 是专为远程登录和其他网络服务(Telnet、ftp等)提供安全性的协议。OpenSSH基于SSH协议实现了很多应用:ssh、scp、sftp等,ssh默认端口22。


OpenSSH是什么?

OpenSSH是实现了SSH协议的软件包,OpenSSH官方网站,包含以下工具:

  • Remote operations are done using ssh, scp, and sftp.
  • Key management with ssh-add, ssh-keysign, ssh-keyscan, and ssh-keygen.
  • The service side consists of sshd, sftp-server, and ssh-agent.

1、ssh

ssh是OpenSSH实现远程登录的客户端软件,让远程服务器执行命令操作。

# 远程关机命令
$ ssh -t user@ip 'sudo shutdown -h now'# 远程关闭多台服务器:
$ ssh -t user@ip1 'sudo shutdown -h now';ssh -t user@ip2 'sudo shutdown -h now';# 远程重启命令
$ ssh -t user@ip1 'sudo reboot'# 重启SSH
$ /etc/init.d/ssh restart
$ sudo service ssh restart# SSH配置目录
/etc/ssh# 公钥的目录
~/.ssh# 可以输出登录时log信息
ssh -v [root@node1](mailto:user@ip)# 查看SSH的进程情况
$ ps aux | grep ssh
2、ssh免密登录

$ ssh user@ip登录远程服务器,每一次都要输入密码,用密钥可免密登录。

# 系统环境 : MAC
# 创建SSH秘钥(ssh-keygen是生成和管理密钥工具)
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa# 把密钥加入到远程机器上(ssh-copy-id是安装密钥到远程服务器的工具)
$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip# 直接登录,无需再输入密码
$ ssh user@ip
3、scp

scp使用ssh与远程服务器相互传输文件,此通信过程也是加密的。

# 本地文件「test.txt」拷贝到服务器的「~/」目录下
$ scp ~/test.txt user@ip:~/# 本地文件夹「test」拷贝到服务器「~/」目录下
$ scp -r ~/test user@ip:~/# 服务器文件夹「test」拷贝到本地「~/」目录下
$ scp -r user@ip:~/test ~/ 
4、ssh-copy-id
# MAC下安装ssh-copy-id
$ brew install ssh-copy-id# 使用见「ssh免密登录」

问题与解决方案
1、WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
$ ssh pi@192.168.1.9# 出现下面错误:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:VrUX6WSrWP7GYk+9rjNfUitciAFE1DJPPR8lilyXq4Q.
Please contact your system administrator.
Add correct host key in /Users/liuhai/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/liuhai/.ssh/known_hosts:5
ECDSA host key for 192.168.1.9 has changed and you have requested strict checking.
Host key verification failed.# Mac下解决方案:
第一步:$ sudo nano ~/.ssh/known_hosts
第二步:删除ip对应哪一行数据(fn+delete)
第三步:ctrl+x,保存退出!

参考文档
  • SSL TLS HTTP HTTPS SSH 分别是什么意思?

SSL TLS HTTP HTTPS SSH 分别是什么意思?相关推荐

  1. 加密与解密、OpenSSL(SSL/TLS)、OpenSSH(ssh)、dropbear

    下面介绍的是Linux的加密与解密.OpenSSL(SSL/TLS).OpenSSH(ssh).dropbear. 一.数据的加密与解密 1.进程间通信基础 (1).进程间通信方式 同一主机间进程间的 ...

  2. SSL/TLS 以及HTTPS 介绍

    SSL/TLS 是一种协议, 用来保证网络传输的安全性. SSL/TLS 的定义与历史 SSL:Secure Sockets Layer ,安全套接层 TLS,Transport Layer Secu ...

  3. java 通过SSL/TLS加密https建立连接

    这个项目是基于与Ruby客户端进行通信,经过查看源代码,发现对方是经过TLS加密通信.第一次调试,尝试用serversocket与对方进行沟通,可以收到数据,但是无法获取http的包头数据,因此,将先 ...

  4. https ssl(tls)为什么不直接用公钥加密数据?

    很多人都提到了非对称加密速度慢,但这只是一个原因,但不是主要原因,甚至是微不足道的原因. SSL协议到3.0后就已经到头了,取而代之的是TLS,相较于SSL的"安全套接字层"的命名 ...

  5. 从零开始在 FreeNAS 的 Jail 上安装 NextCloud 并配置 Nginx 作为网页服务器而且 设置SSL证书 使用 https 访问 以及 oc_filecache 修复方法、优化方法

    笔者由于FreeNAS(TrueNAS)的ZFS文件系统的功能,想在上面架设NextCloud.本来FreeNAS也自带了NextCloud插件,可是由于国内网络环境的原因,死活安装不上.在某歌一番后 ...

  6. SSL/TLS、对称加密和非对称加密和TLSv1.3

    本文主要对对称加密和非对称加密的原理以及过程进行分析,同时还会简单介绍一下TLS/SSL的一些相关内容,并且对比TLSv1.2和TLSv1.3的不同. 1.SSL和TLS的历史 其实早期的互联网协议基 ...

  7. 在MQTT中使用SSL/TLS提高安全性

    翻译自:http://rockingdlabs.dunmire.org/exercises-experiments/ssl-client-certs-to-secure-mqtt 在MQTT中使用SS ...

  8. SSL/TLS - 什么是SSL?

    什么是 SSL? | SSL 定义 What is SSL? | SSL definition Secure Sockets Layer (SSL) is a security protocol th ...

  9. 聊聊HTTPS和SSL/TLS协议

    要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识. 1. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义 2. 大致了解 HTTP 和 TCP 的关系(尤其是"短连接 ...

最新文章

  1. KS103超声波测距模块
  2. 设计模式(一)工厂模式Factory(创建型)
  3. 2019-11-13 惯性环节怎么写成m语言
  4. 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(七)界面安装
  5. [Hadoop in China 2011] 邵铮:揭秘FaceBook Puma演变及发展
  6. matlab调用kmeans_matlab做聚类分析(k-means)
  7. vim 寄存器 操作_vim指令
  8. Java为xml跟节点添加子节点_如何将xml节点作为第一个子节点插入Java中的另一个xml文档中?...
  9. VScode+MarkDown导出PDF图片显示问题
  10. 我们早上一般是七点半上班
  11. 自制人脸数据,利用keras库训练人脸识别模型
  12. java中什么是线程安全_Java 多线程:什么是线程安全性
  13. formatter function (value,row,index){} 参数的含义
  14. Web页面iOS真机调试-win10
  15. photoshop快捷键大全
  16. 蚂蚁区块链投票案例(二)---投票合约设计开发
  17. qrious二维码生成插件
  18. 磁带机LTO类型简单介绍(Tape drive LTO type)
  19. 为什么说辞职后不要回原单位工作
  20. 团体程序设计天梯赛-练习集(并查集)

热门文章

  1. 怎么用金蝶kis记账王反结账和反过账
  2. js全局替换回车换行符
  3. 工具-VsCode插件koroFileHeader
  4. 累计核准率与累计违约率
  5. 有道云笔记下MarkDown使用
  6. Windows10下安装MySQL
  7. 周杰伦根本不需要流量!!!
  8. AtCoder Beginner Contest 188
  9. iPhone的UITextField-更改占位符文本颜色
  10. java 内存溢出解决方案