切换两台机器访问Bitbucket时SSH密钥权限拒绝,需重复生成问题求助
解决跨机器SSH访问Bitbucket的公钥权限问题
别再删.ssh目录啦!这个问题的核心原因是你只把其中一台机器的SSH公钥添加到了Bitbucket账户里,切换到另一台机器时,Bitbucket识别不到那台机器的密钥,自然就会拒绝访问。下面是一步到位的永久解决方案:
第一步:收集两台机器的公钥
在每台机器的终端里执行:cat ~/.ssh/id_rsa.pub(如果你的密钥文件名不是
id_rsa,就换成实际的名字,比如id_ed25519)
复制输出的整段公钥内容,给每台机器的密钥标清楚归属(比如“家用台式机”、“公司笔记本”),避免搞混。第二步:把两台机器的公钥都添加到Bitbucket
登录你的Bitbucket账户,点击右上角头像 → 个人设置 → 左侧菜单找到SSH密钥 → 点击添加密钥,把刚才复制的两台机器的公钥分别粘贴进去,填写对应的备注后保存。第三步:配置SSH强制指定Bitbucket密钥(可选但更稳妥)
在每台机器的~/.ssh目录下创建(如果没有的话)一个config文件,写入以下内容:Host bitbucket.org IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes这个配置会让SSH连接Bitbucket时,强制使用你指定的密钥文件,避免系统自动尝试其他可能存在的密钥导致混淆。
第四步:测试连接
在每台机器上执行测试命令:ssh -T git@bitbucket.org如果输出类似
logged in as [你的Bitbucket用户名].的提示,就说明连接成功了,以后再切换机器也不会出现权限问题了。
原理其实很简单:Bitbucket会验证连接请求的机器公钥是否在你的账户密钥列表里,只要两台机器的密钥都加进去,它就会认可来自这两台机器的访问请求,不用再反复删密钥重生成啦!
内容的提问来源于stack exchange,提问作者Thomas D.
相关产品推荐
相关产品推荐

