ssh公私钥对只是用于身份验证吗?

问题描述 投票:0回答:1

我只是想清楚地了解我对 ssh 通信的理解。这些密钥仅用于 ssh 会话的身份验证,还是也需要用于

user machine
ssh server
之间的会话消息的数据加密。如果是这样,那么只有响应消息被加密(用户收到的这些消息),因为
ssh server
持有公钥并且只能加密数据,但不能解密。 IE。由于
user machine
持有公钥和私钥,因此它可以解密收到的消息并加密发送的消息。但
ssh server
只能加密,因此它应该接收原始消息而不是加密消息。我是对的还是有其他加密方法可以涵盖从
user machine
ssh server
的消息传输?我猜想还有另一个公私对会自动传输,以便通信完全加密。

User machine -> can encrypt, can decrypt (can read encrypted messages)
SSH server   -> can encrypt (cannot read encrypted messages)
ssh
1个回答
0
投票

非对称密钥对(公钥和私钥)在活动的 SSH 会话中有多种用途:

  1. 初始认证
  2. 数据包签名
  3. 生成用于加密传输中内容的临时对称密钥(如果密钥交换算法是 Diffie-Hellman 或椭圆 Diffie-Hellman)

前两个(身份验证和数据包签名)依赖于非对称密钥对的双向性质:使用一个密钥(公共或私有)加密的任何内容只能使用另一个密钥合理解密。如果您相信我正在安全地处理我的私钥,并且您拥有的公钥确实是我的,并且密钥和算法足够强大,那么您可以信任以下内容:

  • 您用该公钥加密的任何内容在我解密之前都是安全的
  • 如果您可以使用该公钥成功解密某些内容,那么我就是加密它的人
© www.soinside.com 2019 - 2024. All rights reserved.