文章目录
- 一、什么是SSH
- 二、SSH的原理
- 三、SSH的安全性
-
- 中间人攻击
- 解决
- 四、SSH的使用
-
- Linux
- Windows
- SSH工具的总结
- 五、Tabby
-
- 1. 根据自己的系统下载相应的Tabby安装包
- 2. 双击开始安装
- 3. Tabby 简单使用
- 参考链接
一、什么是SSH
SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。
最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。
Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。目前已经成为Linux系统的标准配置。
SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。
二、SSH的原理
SSH之所以能够保证安全,原因在于它采用了 公钥加密。
整个过程是这样的:
(1)远程主机收到用户的登录请求,把自己的公钥发给用户。
(2)用户使用这个公钥,将自己的登录密码加密后,发送回来。
(3)远程主机用自己的私钥,解密用户的登录密码,如果密码正确,就同意用户登录。
SSH之所以能够保证安全,原因在于它采用了非对称加密技术(RSA)加密了所有传输的数据。
三、SSH的安全性
中间人攻击
SSH通信过程本身是安全的,但是实施的时候存在一个风险:如果有人截获了登录请求,然后冒充远程主机,将伪造的公钥发给用户,那么用户很难辨别真伪。因为不像https协议,SSH协议的公钥是没有证书中心(CA)公证的,也就是说,都是自己签发的。
可以设想,如果攻击者插在用户与远程主机之间(比如在公共的wifi区域),用伪造的公钥,获取用户的登录密码。再用这个密码登录远程主机,那么SSH的安全机制就荡然无存了。这种风险就是著名的"中间人攻击"(Man-in-the-middle attack)。
解决
由于存在中间人攻击,所以SSH提供了两种级别的验证方法:
第一种级别(基于口令的安全验证):只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人攻击”这种方式的攻击。
第二种级别(基于密钥的安全验证):你必须为自己创建一对密钥,并把公钥放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密钥进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公钥,然后把它和你发送过来的公钥进行比较。如果两个密钥一致,服务器就用公钥加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私钥在本地解密再把它发送给服务器完成登录。与第一种级别相比,第二种级别不仅加密所有传输的数据,也不需要在网络上传送口令,因此安全性更高,可以有效防止中间人攻击。
四、SSH的使用
SSH只是一种协议,存在多种实现。
Ubuntu中有免费开源的SSH实现:OpenSSH
Windows上的SSH实现:PuTTY软件
SSH的实体分为客户端client和服务器端server,客户端是请求连接的一方,客户端是被连接的一方。
Linux
- 文章 SSH简介及两种远程登录的方法 介绍了 OpenSSH 的安装和使用方法
Windows
- 文章 win10开启ssh服务远程连接 介绍了如何开启win10 系统上的SSH服务
- 文章 Windows 下的免费 SSH 客户端工具 推荐了一些 Windows上的免费 SSH 客户端软件
- 文章 PuTTY的下载安装和基本使用方法教程 介绍了Windows上的免费 SSH 客户端软件之一的 PuTTY 的下载安装和基本使用方法
SSH工具的总结
请参考大佬的文章:12种SSH工具的基本特性总结
五、Tabby
说到SSH软件,在这里推荐Tabby。它能实现SSH又不止于此,功能很强大。
Tabby 是市面上少见的既好用又好看还免费开源的远程终端工具。
Tabby是一个高度可配置的终端模拟器、SSH 和串行客户端,适用于 Windows、macOS 和 Linux。
Tabby安装与使用教程:
- 找XShell替代品,用Tabby
- Tabby 使用指南:一个高度可配置的现代化终端模拟器
- 工程师神器-终端-Tabby
- linux远程管理工具之tabby
- Linux – Xshell 扔了,烦,用这个终端工具
如果大家不想读教程,看大佬的视频也行:【科研利器】开源终端工具tabby,强烈推荐!
1. 根据自己的系统下载相应的Tabby安装包
官网:https://tabby.sh/
点击“Download”,进入下载地址:https://github.com/Eugeny/tabby/releases/tag/v1.0.187(需要科学上网)
根据自己的系统选择适合自己的安装包:
我是Windows系统,下载的是 tabby-1.0.169-setup.exe
2. 双击开始安装
安装过程非常简单,请参考以上四个教程。
安装完成后将看到这个界面:
点击 close and never show again 按钮后进入主页:
然后就可以通过 Settings 配置你的 Tabby 啦。
配置很简单,具体方法可以参考我贴在上面的链接或者自己上网搜教程。
最主要的是如何通过配置 Settings 中的 Profiles&connections 来实现 SSH 连接。
3. Tabby 简单使用
我是在 Windows 系统上安装的 Tabby ,用它来 SSH 连接 Linux 系统。
连接上之后,就可以使用 Linux 命令来操作系统啦。
- Tabby 的复制与粘贴
选中命令,点击 回车键 ,就是复制。
在其他地方复制好命令,点击 右键 ,就是粘贴。 - Tabby 也支持使用
ctrl+c
进行内容复制
参考链接
- 什么是SSH 以及常见的ssh 功能
- SSH简介及两种远程登录的方法