ssh免密登录

2025年7月18日 268点热度

服务器 master 上生成密钥

ssh-keygen -t rsa

通过执行命令 ssh-keygen -t rsa 来生成我们需要的密钥。
image.png
执行上面的命令时,我们直接按三次回车,之后会在用户的根目录下生成一个 .ssh 的文件夹,我们进入该文件夹下面并查看有哪些内容。
image.png
我们看到有四个文件,下面分别解释下每个文件是干什么用的。

  • authorized_keys: 存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥。
  • id_rsa: 生成的私钥文件
  • id_rsa.pub: 生成的公钥文件
  • known_hosts: 已知的主机公钥清单

    远程密钥登录

    通过 ssh-copy-id 命令设置。最后一个参数是我们要免密钥登录的服务器 ip 地址。

    ssh-copy-id -i ~/.ssh/id_rsa.pub 10.131.167.184

    image.png

    原理

    到此,我们的 ssh 免密钥登录就大功告成。下面给大家说说免密钥登录的原理,有兴趣的可以看看。
    首先来看下原理图
    image.png

  1. ssh 客户端向 ssh 服务器端发送连接请求
  2. ssh 服务器端发送一个随机的信息
  3. ssh 客户端使用本地的私钥对服务器端发送过来的信息进行加密
  4. ssh 客户端向服务器端发送加密过后的信息
  5. ssh 服务器端使用公钥对该信息进行解密
  6. 若解密之后的信息和之前发送的信息匹配,则信任客户端,否则不信任。

xxs9331

这个人很懒,什么都没留下

文章评论