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