首页 > 运维 > linux运维 > 正文

什么是ssh,它是如何做到对信息进行加密操作的

齐天大圣
发布: 2020-11-20 14:33:50
原创
3537 人浏览过

在早期的远程连接服务器采用的是明文传输的软件,比如telnet、RSH,后来它们都ssh协议取代了。SSH服务是可以提供信息加密后再对数据进行传输,安全性大大提高。SSH有两个主要的功能:

  • 能够连接远程主机,对主机的资源进行管理

  • 能够进行文件的传输,类似ftp服务

SSH加密技术

SSH使用了非对称加密技术,关于什么是对称加密以及非对称加密,读者想要更深入的了解请自行谷歌。非对称加密主要通过公钥与私钥来完成的,其中公钥对发送的信息进行加密,接受到信息后,使用私钥对信息进行解密。

  • 公钥(Public key):给发送给对方主机的信息进行加密的行为,所以你的主机公钥可以给想要进行通信的另外主机。

  • 私钥(Private key):当远程主机给当前主机发送了进行公钥加密的信息后,当前主机利用自己的私钥来对该信息进行解密。记住,你的私钥千万不能让其他主机知道。

下面通过图解来说明两台主机如何进行通信的

首先,当主机A想要给主机B发送信息时,先用主机B的公钥对将要发送的信息进行加密,当主机B收到主机A发送来的加密后的信息时,使用自己的私钥将信息解密。同理,主机B发送信息给主机A时,先用主机A的公钥对信息加密,然后收到加密后的信息的主机A,用自己的私钥对其解密。

连接远程主机的流程

下面来看本地客户机是如何连接上远程的服务器的

  1. 当服务器第一次启动sshd服务时,自动生成公钥及私钥。这些文件存放在/etc/ssh/目录下。

  2. 本地主机通过终端工具或其他方法对服务器发起请求连接。

  3. 收到客户端请求后,服务器将自己的公钥发送给客户机

  4. 客户机若之前没有保存服务器的公钥,那么就会将公钥保存客户机上面。对于windows系统,该公钥存放在C:\Users\admin.ssh\known_hosts文件内,若是linux主机,则保存在家目录的.ssh/know_hosts文件内。

  5. 客户机将自己的公钥发送给服务器,服务器保存客户端的公钥。

  6. 客户机和服务器进行通信。

更多相关技术文章,请访问linux系统教程栏目!

以上是什么是ssh,它是如何做到对信息进行加密操作的的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
ssh
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板