首页 > 技术文章 > Telnet SSH1 SSH2远程管理协议

swordyzhou 2021-01-14 11:15 原文

简述Telnet SSH1 SSH2远程管理协议

百度百科:Telnet

百度百科:SSH

Telnet SSH1 SSH2 三者的区别

Telnet SSH是常用的远程管理协议,都是TCP协议,建立会du话先要进行TCP三次握手,有确认机制所以是可靠的传输协议,端口号分别是23和22。
  Telnet采用明文传输,传输过程容易被窃取,除管理以外 还可用于端口扫描、测试目标端口可达、是否开放。
  SSH 简单来说采用SSL加密传输,创建会话会产生一个非对称秘钥对(RSA、DSA、DH算法),服务端拥有私钥,客户端会提示接收/保存公钥,公钥加密的数据只有私钥才能解密。
  然后再协商交换一个对称秘钥来加密之间的数据(DES、3DES、AES处理速度快),这样就可以防止信息泄露。
  SSH不仅可以用来远程管理,还可以扩展SFTP、SCP、SLogin等等。
  至于SSHv1和SSHv2(也有叫v1.5和 v1.9),前者稍有缺陷,v2进行算法修复。

常用工具

SecureCRT
FinalShell
Putty
VSCode Remote SSH

VSCode Remote SSH插件报错原因

报错

SSH-2.0-OpenSSH_7.4
Protocol mismatch.

原因

OpenSSH 7.4发布:不再支持SSH-1协议

OpenSSH 7.4移除了对SSH v1协议的支持,换成了更安全、高效的SSH2,以及便携版本的SSH(Secure Shell),提供了SSH加密的SFTP功能。

它还移除了客户端上默认的3des-cbc,且支持预鉴权压缩(pre-authentication compression)。其在发行说明中写到:

早期压缩协议在1990年代似乎合理,但今时早已不同于往日,这对加密来说显然是个坏主意(参见针对甲骨文的多起TLS攻击)。预鉴权压缩支持已经被默认禁用了10多年,但客户端中仍然残存。

新特性方面,受PuTTY应用程序的启发,OpenSSH 7.4包括了添加了一个ssh命令的代理多路复用模式,以及一个sshd_config DisableForwaring选项,可拿来禁用TCP、X11、隧道、代理、以及Unix域名的套接字转发。

此外,OpenSSH 7.4添加了对“curve25519-sha256”到sshd和ssh命令的密钥交换方法的支持,提升了SIGHUP的处理操作,允许ClientAliveCountMax和ClientAliveInterval指令出现在sshd_config Match块中,以及在AuthorizedPrincipalsCommand中添加%-escapes。

最后,OpenSSH 7.4还带来了字符串匹配的规化测试、字符串关头函数、地址匹配、改进密钥交换的fuzzer harness、以及解决了OpenSSH 7.3中发现的诸多bug。

推荐阅读