欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  运维

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

程序员文章站 2022-03-11 15:53:13
...
在早期的远程连接服务器采用的是明文传输的软件,比如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,它是如何做到对信息进行加密操作的的详细内容,更多请关注其它相关文章!

相关标签: ssh