如果您的启动板用户未在 Bazaar 中正确设置,则可能会发生这种情况。检查输出:
bzr lp-login
如果输出不是您的启动板用户,或者它是但您的 ssh 密钥未授权,那么这将导致您遇到的问题。
修正您的用户名并上传正确的 ssh 公钥。
说明
如果您告诉 Bazaar a Launchpad 用户名,Launchpad 甚至会尝试验证只读操作,例如:
$ bzr lp-login jelmer
$ bzr info lp:bzr
Permission denied (publickey).
ConnectionReset reading response for 'BzrDir.open_2.1', retrying
Permission denied (publickey).
bzr: ERROR: Connection closed: Unexpected end of message. Please check connectivity and permissions, and report a bug if problems persist.
“权限被拒绝”,因为我不是jelmer,而且他肯定没有授权我的密钥。
所以首先检查您告诉 Bazaar 的 Launchpad 用户名,如果不是您,请更改它,例如:
$ bzr lp-login # ain't gonna be me...
jelmer
$ bzr lp-login janos-gyerik # yeah that's me!
如果是正确的用户名,请访问 Launchpad 上的设置页面并确保您的公钥在此处列出:https://launchpad.net/~YOUR_USERNAME
或者,您可以使用以下命令删除 Launchpad 用户名设置:
bzr config --remove launchpad_username --scope bazaar
但是,当您在 Launchpad 分支上运行 bzr 命令时,如果您尚未设置 Launchpad 用户名,则会收到警告。 (没关系,如果你不想写Launchpad,你可以忽略它。)