首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >多服务器间GitHub SSH 密钥复用与免密访问配置

多服务器间GitHub SSH 密钥复用与免密访问配置

作者头像
小田测测看
发布2026-06-17 19:31:22
发布2026-06-17 19:31:22
1380
举报

嘿嘿只需要配置好一个服务器,其他服务器可以复用这个配置来访问,以下步骤以「200 服务器(源服务器)」→「120 服务器(目标服务器)」为例,核心是把 200 服务器上 GitHub 免密登录的私钥,迁移到 120 服务器并配置免密访问:

步骤 1:在 200 服务器上,确认 GitHub 实际使用的 SSH 密钥文件

先登录 200 服务器,执行以下命令查看当前连接 GitHub 用的私钥路径:

代码语言:javascript
复制
# 调试模式连接 GitHub,查看实际使用的密钥文件
ssh -vT git@github.com

# 重点看输出里的这一行(核心关键),示例输出如下:
Offering public key: /home/devuser/.ssh/id_rsa  # 这就是当前用的私钥文件

补充检查:如果配置过 ~/.ssh/config,需确认是否显式指定了 GitHub 的密钥:

代码语言:javascript
复制
cat ~/.ssh/config

# 若有 GitHub 专属配置,会看到类似内容:
Host github.com
    User git
    IdentityFile ~/.ssh/id_ed25519  # 显式指定的密钥文件
步骤 2:将 200 服务器的 GitHub 私钥复制到 120 服务器

假设 200 服务器上查到的私钥是 /home/devuser/.ssh/id_rsa,执行 scp 复制到 120 服务器

代码语言:javascript
复制
# 从 200 服务器执行,复制私钥到 120 服务器(命名为 id_rsa_github 便于区分)
scp /home/devuser/.ssh/id_rsa root@172.20.26.120:/root/.ssh/id_rsa_github

# 登录 120 服务器后,必须修正密钥权限(SSH 对权限要求严格,否则会失效)
ssh root@172.20.26.120  # 登录 120 服务器
chmod 600 /root/.ssh/id_rsa_github  # 私钥必须 600 权限
chmod 700 /root/.ssh                # .ssh 目录必须 700 权限
步骤 3:在 120 服务器上,配置 GitHub 的 SSH 免密规则

编辑 120 服务器的 ~/.ssh/config 文件,指定 GitHub 专用密钥:

代码语言:javascript
复制
# 120 服务器上执行,编辑 config 文件
vim /root/.ssh/config

# 粘贴以下内容(核心:指定 GitHub 用的密钥)
Host github.com
    User git
    IdentityFile /root/.ssh/id_rsa_github  # 对应复制过来的私钥路径
    IdentitiesOnly yes  # 强制使用指定的密钥,避免优先使用其他密钥导致失败
步骤 4:在 120 服务器上测试 GitHub 免密登录

执行测试命令,验证是否配置成功:

代码语言:javascript
复制
ssh -T git@github.com

# 成功的标志:输出类似以下内容(@后是你的 GitHub 用户名)
Hi your-github-username! You've successfully authenticated, but GitHub does not provide shell access.

注意事项

  1. 1. 确保 200 服务器的公钥已添加到 GitHub 账户:
    • • 200 服务器执行 cat /home/devuser/.ssh/id_rsa.pub 复制公钥;
    • • 登录 GitHub → 个人头像 → Settings → SSH and GPG keys → New SSH key → 粘贴公钥保存;
  2. 2. 若 GitHub 提示 Permission denied (publickey),检查:
    • • 120 服务器的 id_rsa_github 权限是否为 600(必选);
    • config 文件中 IdentitiesOnly yes 是否配置(避免密钥冲突);
    • • 私钥是否和 GitHub 账户绑定的公钥匹配。
  3. 3. 权限要求:SSH 私钥必须 600 权限、.ssh 目录必须 700 权限,这是 GitHub/SSH 免密的核心要求。

#git

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程拾光 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 步骤 1:在 200 服务器上,确认 GitHub 实际使用的 SSH 密钥文件
  • 步骤 2:将 200 服务器的 GitHub 私钥复制到 120 服务器
  • 步骤 3:在 120 服务器上,配置 GitHub 的 SSH 免密规则
  • 步骤 4:在 120 服务器上测试 GitHub 免密登录
  • 注意事项
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档