Plantre Plantre
首页
后端
技术
硬件
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 技术

    • 技术文档
    • GitHub技巧
    • Nodejs
    • 博客搭建
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

plantre

一个后端开发者
首页
后端
技术
硬件
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 技术

    • 技术文档
    • GitHub技巧
    • Nodejs
    • 博客搭建
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 虚拟化

  • Git

  • 可视化

  • Linux

    • Linux 系统中常见目录符号
    • nohub启动jar并保存日志到文件
    • Linux添加SSH公钥
    • ssh命令常用场景详解
    • lvm是什么,和文件系统什么关系,windows下有吗
    • linux查询某个文件夹大小
    • linux删除某个文件夹
    • linux根目录下的文件夹解析
    • linux的文件权限解析
    • dev-null是什么
    • 2&1是什么意思
    • .ssh下有哪些文件,分别有什么作用
    • known_hosts具体举例说明
    • 非对称加密原理和真实数据举例
    • 查询linux端口是否占用
    • 若 SELinux 处于 Enforcing 模式,需在挂载路径后添加 Z是什么意思
    • linux查看每个进程内存大小
    • 分辨文件的种类
  • 远程串流等

  • SWF

  • 网络

  • 网站收藏
  • 技术
  • Linux
plantre
2025-05-08

Linux添加SSH公钥

以下是 Linux 系统中添加 SSH 公钥的完整操作指南,综合多个权威文档和实践案例整理而成:


一、生成 SSH 密钥对

  1. 生成密钥对
    在本地终端执行以下命令生成 RSA 密钥对(推荐 4096 位长度以提高安全性):

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    
    1

    • -t rsa:指定密钥类型为 RSA。

    • -b 4096:设置密钥长度为 4096 位。

    • -C:添加注释(通常为邮箱,用于标识密钥用途)。

    按提示选择密钥保存路径(默认 ~/.ssh/id_rsa),建议设置密码短语(可选但推荐)。

  2. 查看公钥内容
    生成完成后,查看公钥文件 id_rsa.pub 的内容:

    cat ~/.ssh/id_rsa.pub
    
    1

二、将公钥添加到远程服务器 方法 1:使用 ssh-copy-id 工具(推荐)

ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_host
1

• user@remote_host:替换为远程服务器的用户名和 IP/域名。

• 此命令会自动将公钥追加到远程服务器的 ~/.ssh/authorized_keys 文件中。

方法 2:手动添加

  1. 登录远程服务器

    ssh user@remote_host
    
    1
  2. 创建或更新 authorized_keys 文件
    确保 .ssh 目录存在并设置权限:

    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    
    1
    2

    将本地公钥内容追加到远程服务器的 authorized_keys 文件:

    echo "公钥内容" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    
    1
    2

三、验证权限配置

  1. 本地验证
    尝试通过 SSH 密钥登录服务器:

    ssh -i ~/.ssh/id_rsa user@remote_host
    
    1

    若无需输入密码即可登录,说明公钥已生效。

  2. 服务器端检查
    确保以下权限设置正确:

    chmod 700 ~/.ssh            # 目录权限
    chmod 600 ~/.ssh/authorized_keys  # 文件权限
    
    1
    2

四、高级配置(可选)

  1. 多密钥管理 若需为不同服务器使用不同密钥,生成时指定文件名:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/server1_rsa
1

连接时通过 -i 指定私钥:

ssh -i ~/.ssh/server1_rsa user@server1
1
  1. 禁用密码登录(提升安全性) 编辑远程服务器的 SSH 配置文件:
sudo nano /etc/ssh/sshd_config
1

修改以下参数:

PasswordAuthentication no
ChallengeResponseAuthentication no
1
2

重启 SSH 服务:

sudo systemctl restart sshd
1

五、常见问题排查

  1. 连接被拒绝
    • 检查远程 SSH 服务是否运行:sudo systemctl status sshd。

    • 确认防火墙开放 SSH 端口(默认 22)。

  2. 密钥认证失败
    • 确保公钥内容无空格或格式错误。

    • 检查本地私钥路径是否正确。


通过以上步骤,您可高效完成 Linux 系统的 SSH 公钥配置。如需更详细的参数说明,可参考 OpenSSH 官方文档 (opens new window)。

编辑 (opens new window)
上次更新: 2025/06/10, 09:18:05
nohub启动jar并保存日志到文件
ssh命令常用场景详解

← nohub启动jar并保存日志到文件 ssh命令常用场景详解→

最近更新
01
集成loki
07-04
02
TCP的ESTABLISHED是什么意思
06-24
03
安装1panel
06-24
更多文章>
Theme by Vdoing | Copyright © 2025-2025 plantre | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式