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 免密码登录。这样,您就可以通过私钥和公钥的方式进行身份验证,而无需输入密码。
    • 如果该文件不存在,它会自动创建该文件并将公钥添加到其中。
相关推荐
DuHz20 分钟前
C程序中的数组与指针共生关系
linux·c语言·开发语言·嵌入式硬件·算法
shuair27 分钟前
mysql8支持远程访问 -mysql5.7支持远程访问
linux·mysql
Murphy_lx1 小时前
Linux系统--信号(4--信号捕捉、信号递达)陌生概念篇
linux·运维·服务器
2501_916008891 小时前
iOS 发布全流程详解,从开发到上架的流程与跨平台使用 开心上架 发布实战
android·macos·ios·小程序·uni-app·cocoa·iphone
焱焱枫2 小时前
Linux疑难杂症诊断利器:深入解析 fuser 命令
linux·运维·服务器
博语小屋2 小时前
Linux进程信号(壹)_产生信号
linux·运维·服务器
轻松Ai享生活2 小时前
【Linux】VFS 虚拟文件系统 详解
linux
LCG元2 小时前
Linux环境Python生态速建指南:包管理+虚拟隔离+深度调优
linux
大白的编程日记.2 小时前
【Linux学习笔记】线程同步与互斥之生产者消费者模型
linux·笔记·学习
Knight_AL2 小时前
Spring Boot 中使用自定义注解和 AOP 实现微服务日志记录(包含 URL、状态码和耗时信息)
linux·spring boot·微服务