在 R 中:git2r_remote_ls':无法检索 SSH 身份验证方法列表

问题描述 投票:0回答:3

我在从这个私人 gitlab 帐户安装软件包时遇到问题。我通过 PuTTYgen 生成了公钥和私钥,并用它与上述网站进行通信。这是我从网站上使用的一段代码:

install.packages("devtools")
install.packages("git2r")

library(devtools)
library(git2r)

creds <- git2r::cred_ssh_key("~/.ssh/id_rsa.pub", "~/.ssh/id_rsa")

pkglist <- c("AIRSpec", "Rfunctools", "APRLspec", "APRLmpf", "APRLmvr", "APRLssb")

for(pkg in pkglist) {
  print(paste("Installing package:", pkg, "..."))

  ## install package
  devtools::install_git(sprintf("[email protected]:aprl/%s.git", pkg), 
                     credentials = creds)

  ## install dependencies
  descr <- readLines(file.path(.libPaths(), pkg, "DESCRIPTION"))
  deps <- strsplit(sub("^Imports: ", "", grep("^Imports: ", descr, 
                value=TRUE)), ", ")
  if (exist("deps$1"))  install.packages(deps[[1]])
}

但是,我收到此错误消息:

"Error: Failed to install 'unknown package' from Git: Error in 'git2r_remote_ls': Failed to retrieve list of SSH authentication methods: Failed getting response"

如有任何帮助或建议,我们将不胜感激!

努鲁拉

r ssh gitlab devtools libgit2
3个回答
0
投票

我遇到了同样的问题,我发现了这个github问题,该问题是针对

libgit2
的python绑定填充的。他们建议通过以下方式生成 PEM 格式的 ssh 密钥:

ssh-keygen -m PEM

这对我有用。


0
投票

对我来说,问题在于

.ssh
文件的权限。修复文件权限解决了问题。


0
投票
  1. 找出您的目标服务器密钥格式将接受

    ssh -o "HostKeyAlgorithms ssh-rsa" 11.11.11.11 -p 22
    

    输出将类似于:

    Unable to negotiate with 11.11.11.11 port 22: no matching host key type found. Their offer: ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256
    
  2. 创建一个其接受的类型的密钥

    ssh-keygen -t ed25519
    
© www.soinside.com 2019 - 2024. All rights reserved.