SSH究竟是什么?

2021-06-07 22:27超载
电脑爱好者 2021年11期
关键词:快捷方式私钥公钥

超载

什么是SSH?

在局域网乃至互联网上,主机与主机之间的通信都是非加密的状态,属于明文通信。所谓明文通信,就是任何登录、操作信息,都未经加密处理,这就带来了极大的不安全因素。在SSH出现之前,其实已经出现了一些协议,例如rlogin、Telnet、FT或者rsh之类的,但是它们的安全性远远不够,这就催生了SSH(图1)。

1995年第一个SSH程序出现,称之为“secure shell”,它将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。简单说,SSH是一种网络协议,用于计算机之间的加密登录。除此之外,SSH也支持隧道协议、端口映射和X11连接。借助SFTP或SCP协议,SSH还可以传输文件。

SSH协议框架中最主要的部分是三个协议:

1、传输层协议(The Transport Layer Protocol):传输层协议提供服务器认证,数据机密性,信息完整性等的支持。

2、用户认证协议(The User Authentication Protocol):用户认证协议为服务器提供客户端的身份鉴别。

3、连接协议(The Connection Protocol):连接协议将加密的信息隧道复用成若干个逻辑通道,提供给更高层的应用协议使用。

SSH如何工作?

SSH最重要的功能當然是主机与主机之间的通讯,但最大的区别就在于通讯过程中的加密。所以,SSH的工作原理也有所区别:

(1)远程主机收到用户的登录请求,把自己的公钥发给用户。

(2)用户使用这个公钥,将登录密码加密后,发送回来。

(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录(图2)。

详细解析它的工作原理,就是服务器启动的时候自己产生一个密钥(76 8 b i t公钥),本地的S S H客户端发送连接请求到S S H服务器,服务器检查连接点客户端发送的数据和I P地址,确认合法后发送密钥( 76 8 b i ts)给客户端,此时客户端将本地私钥(256bit)和服务器的公钥(768bit)结合成密钥对key(1024bit)并发回给服务器端,从而建立连接。在这种机制之下的连接通讯,让SSH具备了高可靠性、高安全性(相对而言)。

具体来说,在使用S SH登录工具时,S SH客户端的登录方式是这样的(图3):

ssh user@remote -p port

其中,“user”是你在远程机器上的用户名,如果不指定的话默认为当前用户;“r emot e”则是远程机器的地址,可以是I P 地址(局域网)、域名(局域网、广域网);最后的“por t”是指SSH服务器端监听端口,如果不指定的话就为默认值22(SSH协议专用端口)。这样的登录命令执行后,再依据提示确认公钥、输入私钥就可以了(图4)。

免密登录这样做

从安全性角度上看这样的“双保险”可以最大限度确保SSH的安全性连接,但是它也造成了不必要的麻烦——验证公钥,输入私钥这样繁琐的操作。其实,这些也可以通过SSH的客户端软件实现免密钥登录的。我们就以Windows平台下的Putty(SSH登录工具)举例说明(图5)。

除了打开putty的界面按照提示设置登录SSH之外,我们还可以使用快捷方式的办法来实现快捷登录,方法是新建一个Putty的快捷方式,然后右键单击该快捷方式,然后选择“属性”,在“目标”栏中我们添加“ -ssh -l root -P 22 123.123.123.123 -pw 456”。注意,首先这个参数添加时要在putty.exe后连接一个空格,其次,“22”为端口号,如果目标电脑的SSH为特殊指定的端口,那么这里也要进行相应修改;接下来是IP地址或域名,根据实际情况修改即可;最后就是密码-pw后,输入目标电脑的SSH密码就行了(图6)。

设置完毕点击确定,并双击这个快捷方式,它便可以自动连接到指定好的目标主机SSH上,再确认保存一下公钥,日后再使用就完全不需要输入用户名密码了,非常方便。当然,这只是SSH最基本的登录方法,具体要实现何种操作,则是根据你输入的命令来决定的,有兴趣的读者不妨多多摸索。

猜你喜欢
快捷方式私钥公钥
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
基于改进ECC 算法的网络信息私钥变换优化方法
一种基于混沌的公钥加密方案
一种基于虚拟私钥的OpenSSL与CSP交互方案
搞定Windows 7的快捷方式
快捷方式
HES:一种更小公钥的同态加密算法
SM2椭圆曲线公钥密码算法综述
基于格的公钥加密与证书基加密