【问题标题】:How dos ssh connects to an aws EC2 instance even though I didn't explicitly save the public key of the instance on the client?即使我没有在客户端上明确保存实例的公钥,ssh 如何连接到 aws EC2 实例?
【发布时间】:2017-10-27 09:57:35
【问题描述】:
据我了解,ssh 的工作方式是双方就每个会话的对称密钥达成一致。该协议是通过使用各方对应的公钥来完成的,因此假设每一方都可以访问对方实体的公钥。例如,使用 Diffie-Hellman 密钥交换算法会发生这种情况。
但是,当 ssh 到 AWS 实例时,我的客户端似乎无法访问该实例的公钥(因为我没有明确将它保存在客户端上),那么密钥交换部分如何ssh 进程完成了吗?
【问题讨论】:
标签:
amazon-web-services
encryption
amazon-ec2
ssh
public-key-encryption
【解决方案1】:
当 ssh 客户端连接到服务器时,服务器会向客户端提供自己的公钥。如果客户端没有公钥,它可以提示用户与主机建立信任。如果用户接受提示,则客户端使用服务器的公共信息,并可能将其保存在本地以供将来的 ssh 连接使用。您通常可以在 ~/.ssh/known_hosts 中看到该密钥