SSH key 运作方式

1、本地创建SSH key pairs
2、把public key上传到网站服务器(如GitHub
3、当使用ssh方式连接时

  • 本地SSH client向远端请求ssh连接
  • 远端发来random data要求加密
  • 本地ssh client用private key加密,把加密的data发送过去(不发送private key
  • 远端接收到这个data,并用你的public key去validate,通过就说明是你

这里面有两点关键
1、加密后的data无法被逆向工程出private key,所以这个被网络中间窃听到也没关系
2、public key只能validate这个加密后的data是不是由对应的private key产生的,但并不能生成相同的加密data。因此别人有你的public key也啥都干不了

你可能感兴趣的:(计算机科学与技术,ssh)