Gitlab:无法在家中进行 SSH(Windows)

Posted

技术标签:

【中文标题】Gitlab:无法在家中进行 SSH(Windows)【英文标题】:Gitlab: can't SSH from home (Windows) 【发布时间】:2015-09-06 14:37:39 【问题描述】:

我无法通过我的家用 PC 让 SSH 为 GitLab 工作。

要明确: 1. SSH 在同一台机器上对 BitBucket 工作正常 2. SSH key 已添加且正确 3. 我通过 *** 连接(工作中)

当我尝试使用 -v -v -v 参数连接时得到以下输出:

$ ssh git@[server] -v -v -v
OpenSSH_6.6.1, OpenSSL 1.0.1i 6 Aug 2014
debug1: Reading configuration data /c/Users/[me]/.ssh/config
debug2: ssh_connect: needpriv 0
debug1: Connecting to [server] [ip] port 22.
debug1: connect to address [server] port 22: Attempt to connect timed ` out wssh: connect to host [server] port 22: Bad file number

这可能是服务器配置问题吗?

编辑:

我生成了一个新密钥并配置了 ssh 以使用它。 这是输出:

$ ssh -Tvv git@[server]
OpenSSH_6.6.1, OpenSSL 1.0.1i 6 Aug 2014
debug1: Reading configuration data /c/Users/[me].ssh/config
debug1: /c/Users/[me]/.ssh/config line 5: Applying options for [server]
debug2: ssh_connect: needpriv 0
debug1: Connecting to [server] [IP] port 22.
debug1: connect to address [IP] port 22: Attempt to connect timed out without establishing a connection
ssh: connect to host [server] port 22: Bad file number

【问题讨论】:

【参考方案1】:

SSH 在同一台机器上适用于 BitBucket SSH 密钥已添加且正确

我希望它不是已添加到 GitLab 的 相同 ssh 密钥,而是不同的公共密钥(对于相应的 不同的私有 ssh 密钥)

在这种情况下,您需要一个引用两个公钥的 ~/.sssh/config,如“How to set up two SSH keys for two GitLab accounts and push/pull by using TortoiseGit?”:

# my primary account for BitBucket
Host bitbucket
    User git
    HostName bitbucket.com
    PreferredAuthentications publickey
    IdentityFile C:/Users/username/.ssh/id_rsa1

# for GitLab server
Host gserver
    User git
    HostName server
    PreferredAuthentications publickey
    IdentityFile C:/Users/username/.ssh/id_rsa2

同时,检查以下输出:

ssh -Tvv gserver

('gserver' 是 .ssh/config 文件的条目,它引用正确的私有 ssh 密钥和用户 'git')

【讨论】:

更新了我的帖子,因为我不能在回复中使用代码,还没有骰子。 @ReinierKaper 如果您希望使用 ssh/config,则需要使用 Host 条目进行测试,例如 ssh -Tvv gserver。否则不会使用右键。我已经相应地编辑了我的答案。

以上是关于Gitlab:无法在家中进行 SSH(Windows)的主要内容,如果未能解决你的问题,请参考以下文章

无法通过新 GitLab 容器上的 ssh 密钥进行身份验证

在 Gitlab CI 构建中,我无法通过私钥 ssh 进入 AWS EC2

gitlab ssh clone设置

gitlab两种连接方式:ssh和http配置介绍

无法通过 SSH 克隆 gitlab 项目

无法通过 SSH 连接到 Gitlab