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 免密码登录。这样,您就可以通过私钥和公钥的方式进行身份验证,而无需输入密码。
    • 如果该文件不存在,它会自动创建该文件并将公钥添加到其中。
相关推荐
IMPYLH7 分钟前
Linux 的 base32 命令
linux·运维·服务器·bash·shell
DvLee102416 分钟前
让旧Mac再战几年:使用 OpenCore Legacy Patcher 升级不支持的 macOS(完整教程)
macos·macbook·opencore
7yewh16 分钟前
MCU 卷积神经网络部署 · 深度技术指南
linux·嵌入式硬件·ai·嵌入式
一只小白菜22 分钟前
在 macOS 上配置 OpenClaw 连接本地 Ollama 完整指南
macos
无垠的广袤23 分钟前
【ChatECNU 大语言模型】基于 Linux 开发板的 OpenClaw 部署方案
linux·人工智能·语言模型
YYYing.35 分钟前
【Linux/C++多线程篇(二) 】给线程装上“红绿灯”:通俗易懂的同步互斥机制讲解 & C++ 11下的多线程
linux·c语言·c++·经验分享·ubuntu
一乐小哥1 小时前
Zsh 与 Bash 配置文件:用法、区别、迁移
macos·shell
荆楚闲人1 小时前
ubuntu下实现自动以root用户开机无密码方式进入桌面
linux·运维·ubuntu
liweiweili1261 小时前
lsof 查看写入日志文件的进程是什么
linux
陈皮糖..1 小时前
Ansible实战教程----使用Ansible角色源码编译部署nginx服务
linux·运维·nginx·自动化·云计算·ansible