无法从命令行SSH到远程存储库

露娜·帕格拉瑞利(Luna Paglarelli)

我正在尝试连接到特定IP地址下的远程存储库。

我通过电子邮件收到了私钥,并且正在使用Putty在Windows上。.ppk文件在Pageant中。

我还创建了一个GIT_SSH环境变量。

完成这些步骤之后,我的个人IP便被列出在防火墙中,因此我想我可以连接了。

但是,当我使用git bash连接到服务器时,收到消息“权限被拒绝(公共密钥)”。

我使用的命令是:

$ ssh [IP] $ ssh [username]@IP $ ssh -T [username]@IP

我详尽地查询了在线内容,但到目前为止还没有成功,我确实需要尽快访问该存储库。

提前致谢!Obrigada :)

阿舒托什·金达尔

两种解决方法

直接在Git Bash中使用Pageant

这需要将GIT_SSH环境变量设置为plink.exe的完整路径(这是腻子套件的一部分)。

另外,我强烈建议检查plink.exe是否可以在GIT Bash中工作,如下所示:

Full-path-to-plink.exe -v -P port sshusername@sshserver

另一件事要检查的是您正在使用的Putty套件的版本。(我稍后可以挖掘细节,但)0.60版存在一个错误,原因是cmd中的进程无法访问Pageant。我相信这个问题已在v 0.62中解决,但您可以随时使用最新版本(v 0.67)


将腻子密钥转换为OpenSSH格式

另一种可能性是通过使用puttygen.exe并直接在GIT Bash内部使用导出的密钥将腻子密钥导出为OpenSSH格式:

  1. 打开PuttyGen
  2. 点击加载
  3. 加载您的私钥
  4. 转到Conversions->Export OpenSSH并导出您的私钥
  5. 将您的私钥复制到~/.ssh/id_dsa(或id_rsa)。
  6. 使用以下命令创建RFC 4716版本的公共密钥 ssh-keygen

    ssh-keygen -e -f ~/.ssh/id_dsa > ~/.ssh/id_dsa_com.pub
    
  7. 将RFC 4716版本的公钥转换为OpenSSH格式:

    ssh-keygen -i -f ~/.ssh/id_dsa_com.pub > ~/.ssh/id_dsa.pub
    

然后,您可以在GIT Bash中执行以下操作来测试ssh连接:

GIT_SSH=ssh
ssh -v sshusername@sshserver -i ~/.ssh/id_rsa

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从命令行打开远程git存储库

如何从命令行(Git Bash)删除远程Git存储库?

为什么Windows版Git会创建无法从命令行删除的存储库?

从命令行创建实例后无法SSH

从命令行启用远程VNC?

如何从命令行获取所有存储库和PPA的列表到安装脚本中?

Bash无法从命令行执行

无法从命令行运行

无法从命令行启动 gvim

如何从命令行给定的存储库下载软件包?

如何从命令行计算Ubuntu存储库中的软件包?

从命令行打开现有的Tower git存储库

从命令行使用bash,cURL和GitHub API分叉GitHub存储库

如何从命令行 SDK 管理器添加 Google 存储库

如何从命令行在组织下创建GitHub存储库?

如何在Windows上使用Git存储库路径从命令行启动GitKraken?

如何从命令行启用或禁用 -updates、-security、-backports、-proposed 存储库?

如何从命令行获取存储库部分中所有软件包的列表?

如何从命令行获取存储库部分中的软件包主页列表?

从命令行检索git存储库的所有克隆URL

从命令行还原sources.list中的默认apt存储库

从命令行为 Gnome 启用远程桌面?

将 repo 从命令行推送到远程

如何从命令行删除远程分支(例如Github)?

Bash Shell从命令行命令到VPN连接

Helm 无法从命令行将双引号传递到 values.yaml 中?

无法从命令行访问mvn命令?

从composer命令行删除存储库

是否可以通过命令行删除Github上的远程存储库?