我在从这个私人 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"
如有任何帮助或建议,我们将不胜感激!
努鲁拉
我遇到了同样的问题,我发现了这个github问题,该问题是针对
libgit2
的python绑定填充的。他们建议通过以下方式生成 PEM 格式的 ssh 密钥:
ssh-keygen -m PEM
这对我有用。
对我来说,问题在于
.ssh
文件的权限。修复文件权限解决了问题。
找出您的目标服务器密钥格式将接受
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
创建一个其接受的类型的密钥
ssh-keygen -t ed25519