从新服务器访问GitHub仓库是否需每次创建新SSH密钥对?
问题解答
不需要每次更换服务器都创建新SSH密钥对,完全可以复用已有的密钥。
你复制旧公钥没生效的原因
你只复制了公钥(id_rsa.pub),但SSH认证需要配对的私钥(id_rsa),同时文件权限设置不正确也会导致验证失败——SSH对密钥文件的权限要求很严格,权限过宽会直接拒绝使用。
正确复用现有密钥的步骤
- 在新服务器上创建SSH目录(如果不存在):
mkdir -p ~/.ssh && chmod 700 ~/.ssh - 把旧服务器上的**私钥文件(
id_rsa)**和公钥文件(id_rsa.pub)完整复制到新服务器的~/.ssh/目录下 - 严格设置文件权限:
chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub - 验证配置是否成功:
如果返回包含你GitHub用户名的欢迎消息,说明配置没问题,此时就能正常克隆仓库了。ssh -T git@github.com
额外注意点
- 如果你用的不是默认文件名的密钥(比如
my_github_key),或者有多个密钥,需要在~/.ssh/config里添加规则指定对应GitHub的密钥:
别忘了给config文件设置权限:Host github.com HostName github.com User git IdentityFile ~/.ssh/你的密钥文件名chmod 600 ~/.ssh/config - 确认旧密钥在GitHub端没有失效:登录GitHub账户,检查「Settings」→「SSH and GPG keys」里是否还存在对应的公钥,要是被误删了,重新添加一次即可。
内容的提问来源于stack exchange,提问作者Gunel
相关产品推荐
相关产品推荐

