SSH authorized_keys

一台 server 的 authorized_keys 配置了很多很多 public key, 一个客户端去连接的时候,服务端怎么知道这个客户端的私钥对应哪个 public key 呢?

  1. ssh-keygen 生成的 id_rsa 文件,可以导出对应的公钥:

    1
    ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub2
  1. ssh-keygen 生成的 id_rsa 文件,查看对应公钥的指纹信息:
    1
    ssh-keygen -l -f ~/.ssh/id_rsa

客服端在发送消息给服务端时,可以通过本地自己的私钥,生成出对应的公钥指纹信息,然后发送给服务端,服务端通过这个指纹信息,遍历 authorized_keys 文件,查找有没有相同指纹的 public key 的信息。

Just for my love !!