“ 文章通过通俗易懂的方式,介绍了SSH相关基本概念,有助于读者快速了解SSH。”
传统网络服务程序缺点
-
传统网络服务程序(ftp/pop/telnet)在网络上用
明文
传送
口令
和
数据
,黑客容易截获。 -
传统网络服务程序的安全验证方式容易受到
中间人(man-in-the-middle)方式的攻击。
-
“中间人”方式的攻击
-
“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器。
-
SSH简介
- SSH(Secure Shell):安全外壳协议(应用层协议)
-
为远程登录会话等网络服务提供安全性的协议,
能有效防止远程管理过程中的安全问题。 -
SSH采用面向连接的TCP协议传输,端口号为22。
SSH的应用
- 使用SSH,可以把所有传输的数据进行加密、压缩(传输更快),杜绝中间人的攻击方式,还能防止DNS欺骗和IP欺骗。
- SSH既可以代替Telnet,又可以为FTP、PoP、PPP提供一个安全隧道。
远程登录云服务器进行数据传输作安全验证使用。
SSH的实现方式
- OpenSSH
- PuTTY
SSH版本
-
SSH是由
客户端和服务端的软件组成
的,有两个不兼容的版本分别是:1.x和2.x。 - SSH 2.x的客户程序无法连接到SSH 1.x的服务程序上。
- OpenSSH 2.x同时支持SSH 1.x和2.x。
SSH加密
- SSH数据传输——使用对称密钥来加密
- SSH创建连接+身份认证握手阶段——使用非对称加密
- 对称加密,发送方和接收方使用一个共享密钥进行加密、解密。
-
非对称加密,
发送信息
加密使用
公钥
,
接收信息
解密使用
私钥
。- 公钥可以发送给任何请求通信的其他人,私钥由生成的一方自己保管,。
- 公钥和私钥之间数学的特性保证公钥加密的信息只能由私钥解密,私钥加密的信息不能用公钥解密。
- 非对称加密的私钥不需要暴露在网络中,安全性较高,但加解密的速度比对称密钥慢得多。
SSH验证——从客户端看
-
口令验证
- 使用帐号和口令登录远程主机。所有传输的数据被加密,但不能保证正在连接的服务器是想连接的服务器。可能会有别的服务器在冒充真正的服务器。
-
公私密钥验证
- 为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。
- 当要连接到SSH服务器上时,客户端软件就会向服务器发出请求,请求用自己的密匙进行安全验证。
- 服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”并把它发送给客户端软件。
- 客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
SSH隧道
-
SSH隧道(SSH 端口转发):用户在本地主机和远程主机进行特定端口连接的通讯技术。
-
SSH端口转发将网络流量重定向到特定的端口/IP 地址,以便本地主机上的应用程序可以直接访问远程主机。
-
目标可能位于远程 SSH 服务器上,或者该服务器可能配置为转发到另一个远程主机,以消耗传输效率为代价加强安全性。
-
-
SSH隧道是IT管理员以及恶意行为者的强大工具,因为它们可以绕过企业防火墙传输而不被发现。因此,有一些工具可用于防止通过企业防火墙未经授权使用SSH隧道。
参考资料
-
https://baike.baidu.com/item/SSH/10407
-
https://info.support.huawei.com/info-finder/encyclopedia/zh/SSH.html
-
https://zhuanlan.zhihu.com/p/46235721
-
https://www.techtarget.com/searchsecurity/definition/Secure-Shell
💗 “我欲乘风破浪、踏遍黄沙海洋,只为无悔一场,不负勇往。”
——Created By 是羽十八ya
版权声明:本文为Yushiba972原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。