XingPiaoLiang's

Back


一、复用旧密钥(迁移已有密钥)#

  1. 拷贝私钥和公钥文件 (从旧机器复制到新机器)

    scp user@旧机器IP:~/.ssh/id_rsa ~/.ssh/
    scp user@旧机器IP:~/.ssh/id_rsa.pub ~/.ssh/
    bash
  2. 设置权限

    chmod 600 ~/.ssh/id_rsa
    chmod 644 ~/.ssh/id_rsa.pub
    bash
  3. (可选) 添加私钥到 ssh-agent

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa
    bash
  4. 测试连接

    ssh -T git@github.com
    bash

    如果报错 “Permission denied (publickey)”,请检查以下几点:

    • 确认 id_rsa.pub 内容已添加到 GitHub → Settings → SSH and GPG keys 中。
    • 确认私钥权限正确。
    • 确认 ~/.ssh/config 是否正确配置(见下方)。

二、新建 SSH 密钥对并配置 GitHub(如果不想迁移旧密钥)#

  1. 生成新密钥

    ssh-keygen -t rsa -b 4096 -C "你的邮箱@example.com"
    bash

    一路回车使用默认路径 (~/.ssh/id_rsa),设置密码短语(可空)。

  2. 启动 ssh-agent 并添加私钥

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa
    bash
  3. 复制公钥内容

    cat ~/.ssh/id_rsa.pub
    bash

    复制整行内容。

  4. 添加公钥到 GitHub

    访问 GitHub → Settings → SSH and GPG keys → New SSH key。粘贴公钥,输入标题,保存。

  5. 测试连接

    ssh -T git@github.com
    bash

三、(可选) ~/.ssh/config 示例配置#

Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa
  IdentitiesOnly yes
text

权限设置#

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
bash

测试#

ssh -vvvT git@github.com
bash
ssh 服务器迁移密钥对命令记录
https://astro-pure.js.org/blog/ssh
Author erasernoob
Published at July 19, 2025
Comment seems to stuck. Try to refresh?✨