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


本文摘自PHP中文网,作者齐天大圣,侵删。

在早期的远程连接服务器采用的是明文传输的软件,比如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主机和私钥的最佳方法

SSH linux是什么

centos7无法连接SSH

linux中SSH客户端断开后保持进程继续运行配置方法的具体介绍

SSH无法远程连接linux

linux中SSH远程登录失败怎么办

ubuntu怎么开启SSH服务

centos出现SSH登录失败怎么办

详解shell实现SSH自动登陆

SSH访问linux出现乱码

更多相关阅读请进入《SSH》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...