使用Poetry安装私有仓库遇SSH权限错误求助
问题描述
尝试通过Poetry安装私有GitHub仓库:
shared = { git = "git@github.com:MyOrg/py-shared.git", tag = "v1.0.1" }
执行poetry install时出现权限错误:
Bad permissions. Try removing permissions for user: AzureAD\pf-admin (S-1-12-1-4251299626-1206025203-1262121600-3609005738) on file C:/Users/{ME}/.ssh/config.
Bad owner or permissions on C:\Users{ME}/.ssh/config
当前.ssh/config仅包含BitBucket配置:
Host bitbucket.org AddKeysToAgent yes IdentityFile ~/.ssh/bitbucket-key
解决方案
1. 修复.ssh/config文件权限
- 打开文件资源管理器,定位到
C:\Users\{ME}\.ssh\config - 右键文件 → 属性 → 切换到安全选项卡
- 点击编辑,在权限列表中找到
AzureAD\pf-admin用户,点击删除 - 确保权限列表中仅保留你当前日常登录的用户账号,且该账号拥有读取和写入权限(完全控制也可)
- 点击应用 → 确定保存更改
2. (可选)添加GitHub SSH配置(若未配置)
如果尚未为GitHub配置SSH密钥,需添加对应配置到.ssh/config:
Host github.com AddKeysToAgent yes IdentityFile ~/.ssh/your-github-private-key
替换your-github-private-key为你关联GitHub账号的SSH私钥文件名,确保该密钥已添加到GitHub账号的SSH设置中。
3. 验证SSH连接
执行以下命令确认GitHub SSH连接正常:
ssh -T git@github.com
若返回Hi {YourGitHubUsername}! You've successfully authenticated, but GitHub does not provide shell access.则说明连接正常。
问题原因
Git在使用SSH协议访问任何远程仓库(包括GitHub)时,会严格检查.ssh/config文件的权限安全性——不允许无关用户拥有该文件的访问权限,否则会判定为不安全并拒绝使用该配置。因此即使你的config仅包含BitBucket设置,权限问题仍会影响GitHub仓库的SSH访问。
内容的提问来源于stack exchange,提问作者Woody1193

