SSH的含义
SSH是一个应用层协议,专为远程登录会话和其他网络服务提供安全性的保障,防止信息泄露问题。
ssh服务端由2部分组成: openssh(提供ssh服务) openssl(提供加密的程序)
ssh的客户端可以用 XShell,XManager、SecureCRT,Putty、Mobaxterm 等工具进行远程连接、登录
SSH的历史
- 1995年,芬兰学者Tatu Ylonen设计了SSH协议,
- SSH 为 Secure SHell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;
- SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括 HP-UX、Linux、Unix、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
- SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文针对的实现是OpenSSH,它是自由软件,应用非常广泛。
SSH的原理
SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22默认端口),包括公共秘钥等交换等信息。
服务器启动的时候自己产生一个密钥(768bit公钥),本地的ssh客户端发送连接请求到ssh服务器,服务器检查连接点客户端发送的数据和IP地址,确认合法后,ssh服务器会发送密钥(768bits)给客户端,此时客户端将本地私钥(256bit)和服务器的公钥(768bit)结合成密钥对key(1024bit),发回给服务器端,建立连接通过key-pair数据传输。