Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption 客户端和服务器之间的ssh:服务器如何解密客户端发送给它的数据?_Encryption_Ssh_Private Key_Public Key - Fatal编程技术网

Encryption 客户端和服务器之间的ssh:服务器如何解密客户端发送给它的数据?

Encryption 客户端和服务器之间的ssh:服务器如何解密客户端发送给它的数据?,encryption,ssh,private-key,public-key,Encryption,Ssh,Private Key,Public Key,我试图理解SSH机制;据我所知,使用ssh我们可以保护客户端和服务器之间的连接 客户端将创建私钥和公钥(比如使用ssh-keygen);将公钥传递给服务器 现在,我们有了这个流程: 客户端->服务器;客户机拥有这两对密钥,所以如果服务器发送数据(数据由公钥加密,则客户机可以解密);但服务器如何解密从客户机->服务器发送的数据;客户端将使用公钥对数据进行加密;由于服务器只有公钥,它如何解密客户端发送给它的数据 服务器->客户端;服务器只有公钥;所以我认为这是可以的;服务器将使用公钥加密数据,然后客

我试图理解SSH机制;据我所知,使用ssh我们可以保护客户端和服务器之间的连接

客户端将创建私钥和公钥(比如使用ssh-keygen);将公钥传递给服务器

现在,我们有了这个流程:

客户端->服务器;客户机拥有这两对密钥,所以如果服务器发送数据(数据由公钥加密,则客户机可以解密);但服务器如何解密从客户机->服务器发送的数据;客户端将使用公钥对数据进行加密;由于服务器只有公钥,它如何解密客户端发送给它的数据

服务器->客户端;服务器只有公钥;所以我认为这是可以的;服务器将使用公钥加密数据,然后客户端将使用其私钥解密数据

但服务器如何解密从客户机->服务器发送的数据

因为在服务器被验证之后,双方都使用一种称为的版本协商会话密钥。
该算法的设计使双方在生成会话密钥时的贡献相等。
生成的会话密钥是共享对称密钥,即相同的密钥用于加密和解密

有关详细信息,请参见

及“”:


使用ssh keygen生成的密钥用于身份验证。它不用于加密客户端和服务器之间的数据流。无论如何,这个问题以目前的形式是相当广泛的。如果您想了解ssh如何加密其会话,应该从ssh wikipedia页面和RFCs开始。