我在Github上有多个私有仓库。当我尝试设置第二个cpanel存储库时(使用指定的Git版本控制和SSH密钥/对配置说明),第二个存储库失败并出现可怕的128错误:
- 错误:“/usr/local/cpanel/3rdparty/bin/git”在结束时报告错误代码“128”:请求被拒绝,请重试。请求被拒绝,请重试。
我的托管账户上有两个子域(可以把它们想象成'test'和'prod'),每个子域都指向自己的子文件夹(在cpanel文件管理器中),每个子域在Github中都有自己的私有仓库。第一个子域(测试)工作得很好-每次都成功地从Github将Pull Requests馈送到我的网站。但是当我尝试设置第二个cpanel仓库时,出现了上面的错误-似乎无法动摇这个。
我验证了密钥对是否正确配置(cat ~/。ssh/id_rsa.pub和cat ~/。ssh/id_rsa3。他们,都是被人发现的,都是被人发现的。cpanel的ssh/文件夹。我甚至三次检查了我的Github仓库,以确保它们每个都有自己的Deploy密钥(来自cpanel的公共SSH密钥)。
任何指导都将不胜感激!
非常感谢!丹
4条答案
按热度按时间cbwuti441#
在Cpanel帐户中打开终端
它会要求您给予文件名以保存密钥,并提供完整的路径:
/home/usernameofcpanel/.ssh/filename_key
不要输入密码- pree enter
它将生成SSH密钥
在Cpanel中,您可以打开SSHKEy部分-您将看到名为filename_key的私钥和公钥
从cpanel验证密钥
在Github中添加此密钥-https://github.com/youraccount/Repositoryname/settings
您可以从单击安全部分中的存储库转到设置,转到部署密钥-
单击添加部署密钥
为filename_key添加密钥详细信息-从Cpanel SSH密钥复制公钥详细信息
并提供名称和copu公钥
chcek允许写入访问-如果你想从cpanel写入Github
完成后返回Cpanel
转到.ssh文件夹打开配置文件
将以下内容添加到配置并保存文件
现在从Cpanel打开终端
如果成功连接Hi [Gitowneraccountname]/[Repositoryname]您已成功进行身份验证,但GitHub不提供shell访问,则应该给予以下消息。
现在你已经准备好将GitHub连接到gitversion了
从GitHub仓库复制ssh的克隆URL
www.example. com :[Gitowneraccountname]/[Repositoryname]。Git
在cpanel中转到Gitversion
单击“创建
复制克隆URL到克隆文本框
www.example. com :[Gitowneraccountname]/repository.git把url改到下面
git@[Repositoryname]. www.example.com :[Gitowneraccountname]/repository.Git
将子域添加为[Repositoryname],您将能够获得与多个git存储库一起工作的cpanel gitversion
wlzqhblo2#
第二个键没有默认名称,这意味着它确实需要一个
~/.ssh/config
文件,正如您所提到的。但是CPanel SSH documentation并没有明确提到它确实使用了所述的配置文件(尽管它提到了in this tutorial)。
首先检查这是否是受密码保护的provate密钥的问题,如mentioned here。
或者私钥是用wrong eol (end of line) character导入CPanel的。
fslejnso3#
根据VonC回答的注解链,当在cPanel中创建Git仓库时,您不能使用ssh config中的别名。这让生活变得艰难。
但由于某些原因,您可以在通过API运行等效命令时***。因此,使用API调用。我们想要的API端点是
/VersionControl/create
,在api.docs.cpanel.net/openapi/cpanel/operation/VersionControl::create中记录。进行API调用的最快方法是简单地将如下所示的URL直接插入浏览器。
https://hostname.example.com:2083/cpsess##########/execute/VersionControl/create?type=git&name=example&repository_root=/home/user/public_html/example&source_repository={“remote_name”:“origin”,“url”:“github_alias:github-user/yourreponame.git”}
将cpsess##########替换为登录cPanel界面时分配的任何密钥。
然后你会有一个看起来像这样的ssh配置:
omhiaaxx4#
这个错误通常是由~/引起的。ssh/config文件。因此,您一定要重新访问该文件中的配置。
你应该把短信改成这个
要阅读更多关于这方面的内容,请查看cpanel自己发布的这些文档和文章。
This is the documentation that explains the step by step processes to set up your ssh keys for single and multiple private repositories.
This is the link to the article that helped me solve the error.
强调选项2,第11项
“注意:如果您想在通过SSH连接到任何远程主机时使用此私钥,您可以使用星号字符作为主机,而不是特定的域名:* 否则,请使用远程Git仓库提供商的域名。”