MAC | linux | SSH 密钥验证

SSH密钥登陆过程

  1. 客户端通过ssh-keygen生成自己的公钥和私钥。
  2. 手动将客户端的公钥放入远程服务器的指定位置。
  3. 客户端向服务器发起 SSH 登录的请求。
  4. 服务器收到用户 SSH 登录的请求,发送一些随机数据给用户,要求用户证明自己的身份。
  5. 客户端收到服务器发来的数据,使用私钥对数据进行签名,然后再发还给服务器。
  6. 服务器收到客户端发来的加密签名后,使用对应的公钥解密,然后跟原始数据比较。如果一致,就允许用户登录。

在服务器中配置远程用户公钥(即客户端需要将自己的公钥配置在Linux服务器中)

  1. 查看本地是否已经生成了公钥

    ls ~/.ssh/id_*.pub

  2. 客户端生成本地公钥

    ssh-keygen

  3. 将客户端公钥手动上传到Linux服务器中

    ssh-copy-id 用户名@服务器IP地址

    • ssh-copy-id 命令用于将本地用户的公钥添加到远程服务器的 ~/.ssh/authorized_keys 文件中,从而实现 SSH 免密码登录。这样,您就可以通过私钥和公钥的方式进行身份验证,而无需输入密码。
    • 如果该文件不存在,它会自动创建该文件并将公钥添加到其中。
相关推荐
kida_yuan6 分钟前
【Linux】文件系统与 fsck.ext4 修复 - 我踩过的坑与总结
linux·运维·网络
二二牧人25 分钟前
qemu arm64 linux开发环境搭建
linux·运维·数据库
馨谙44 分钟前
Linux面试题----文件权限,chmod,chown,suid,sgid,粘滞位,umask
linux·运维·服务器
青衫客361 小时前
Linux 磁盘挂载全流程实战——从新盘初始化到安全开机自启
linux·运维·服务器
大江东去浪淘尽千古风流人物2 小时前
【DSP】xiBoxFilter_3x3_U8 dsp VS cmodel
linux·运维·人工智能·算法·vr
Xの哲學3 小时前
Linux Tasklet 深度剖析: 从设计思想到底层实现
linux·网络·算法·架构·边缘计算
dog2503 小时前
Linux 6.19 TCP 的两个极限拉扯
linux·运维·tcp/ip
新兴AI民工3 小时前
【Linux内核九】进程管理模块:list_head钩子构造双向列表和一些宏定义
linux·运维·list·linux内核
小周学学学3 小时前
ESXI故障处理-重启后数据存储丢失
linux·运维·服务器
哎哟喂呢哈3 小时前
ddns 免费 ipv6
linux