一、复用旧密钥(迁移已有密钥)#
-
拷贝私钥和公钥文件 (从旧机器复制到新机器)
bashscp user@旧机器IP:~/.ssh/id_rsa ~/.ssh/ scp user@旧机器IP:~/.ssh/id_rsa.pub ~/.ssh/
-
设置权限
bashchmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub
-
(可选) 添加私钥到 ssh-agent
basheval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa
-
测试连接
bashssh -T git@github.com
如果报错 “Permission denied (publickey)”,请检查以下几点:
- 确认
id_rsa.pub
内容已添加到 GitHub → Settings → SSH and GPG keys 中。 - 确认私钥权限正确。
- 确认
~/.ssh/config
是否正确配置(见下方)。
- 确认
二、新建 SSH 密钥对并配置 GitHub(如果不想迁移旧密钥)#
-
生成新密钥
bashssh-keygen -t rsa -b 4096 -C "你的邮箱@example.com"
一路回车使用默认路径 (
~/.ssh/id_rsa
),设置密码短语(可空)。 -
启动 ssh-agent 并添加私钥
basheval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa
-
复制公钥内容
bashcat ~/.ssh/id_rsa.pub
复制整行内容。
-
添加公钥到 GitHub
访问 GitHub → Settings → SSH and GPG keys → New SSH key。粘贴公钥,输入标题,保存。
-
测试连接
bashssh -T git@github.com
三、(可选) ~/.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