Day21:【技术篇】SSH 的基本运作原理

一、前言

  会想了解 SSH 是因为工作上和自己使用 GitHub 时,都有看过这个名词,所以有稍微了解一下它的原理。直接破题解答,SSH 是一个连线加密机制,如果要生动地了解它的奥秘,推荐可以去看这篇文章([Security] 你该知道所有关於 SSH 的那些事)!

二、SSH 的基本原理

  SSH 是 Secure Shell 的缩写,可以把它想成是有加密过的远程连线(telnet)。它是由 IETF 的网路工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。
  远程连线(telnet)和 SSH 是同类型的东西。差别在於 SSH 的连线通道是经过加密,它使用 public 和 private key 的 Architecture 来做连线通道的加解密。
  也就是说,SSH 让我们在与远端电脑(远端服务器)连线时,能够先将讯息加密过後再传送,并且确保只有「被认可的人」才能够解密讯息。因此,就算是在一个不安全的网络里面,SSH 都能够确保连线不被窃听。
  然而 SSH 有个很值得一提的优点为其传输的数据是经过压缩的,所以可以加快传输的速度。并且许多作业系统,包含 macOS, Linux, OpenBSD, FreeBSD 都支援 SSH。

远端连线方式(资料参考来源)
远端连线方式

三、公钥与私钥的观念

  SSH 使用 public-key cryptography 来为资料流加密。虽然 Public Key Crytography(PK crypto)需要很多时间与CPU,但它让我们可以传送加密讯息而不需要先交换任何秘密资讯。

观念示意图(资料参考来源)
观念示意图

四、SSH 的运作原理

  SSH 系使用 client-server 模型 之方式运行。

五、结论与自我鼓励

  今天这篇文章算是小小解释 SSH 的原理,并没有介绍得太深,因为我也还在努力学习中,如果有推荐的文章或资源,也欢迎大家分享唷~


本文同步发布於我的个人网站 Annie Code Life


<<:  Day 19: SOLID 设计原则 — LSP (待改进中... )

>>:  DAY19 这边先帮你上一个按钮喔~(一)

成为工具人应有的工具包-15 PasswordFox

PasswordFox 虽然每天都在发断尾废文,不过概览这些工具也多少觉得有趣,时间安排太差呜呜呜呜...

[Day20]C# 鸡础观念- 物件导向(oop)基本观念

在程序语言中, 我们不只要掌握基本的语法, 还要去融会贯通, 掌握它的精随所在, 而物件导向正是C...

谈谈讯息元件

常用的讯息有以下几类: Toast AlertDialog Toast 是快讯显示的即时计息,几秒内...

用电脑判断路段车辆数->控制红绿灯 小论文求解(急

各位大大好 小论文的主旨在於 用电脑判断路段车辆数依照车辆数去调节红绿灯的秒数的实例 老师说有两种但...

[Day 26] Node thread pool 1

前言 回顾昨天提到, pending 阶段处理 polling 得来的事件, 且调用特定的 call...