【问题标题】:Can't authenticate via ssh key on new GitLab container无法通过新 GitLab 容器上的 ssh 密钥进行身份验证
【发布时间】:2021-05-03 04:54:50
【问题描述】:

我最近设置了一个新的 GitLab docker 容器,尽管其他一切都运行良好,但我无法通过 ssh 对其进行身份验证。

我按照here 的指示写信,但没有成功。 无论我生成何种密钥类型,无论客户端(Linux、Windows git-bash)如何,服务器都会立即拒绝公钥并且不会提示输入密码。

调试显示如下:

debug1: Offering public key: /c/Users/[user]/.ssh/id_ed25519 ED25519   SHA256:[SHA-256]
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51

也许这是显而易见的事情,但我无法完全弄清楚,并且没有任何故障排除步骤能够提供帮助。 附带说明一下,ssh 端口是非标准的,尽管我是通过新端口访问的。我还仔细检查了服务器和客户端都启用了 ssh。

任何帮助将不胜感激。

谢谢!

【问题讨论】:

    标签: ssh gitlab ssh-keys


    【解决方案1】:

    先检查是否类似于gitlab-org/gitlab-foss issue 18371"docker omnibus gitlab denied ssh public key"

    在我的情况下,问题是 docker 容器公开的 ssh 套接字与我的服务器的套接字不匹配。
    它有助于在 10022 等不同的端口上公开它,并像这样重新配置 gitlab:

    gitlab_rails['gitlab_shell_ssh_port'] = 10022
    

    理想情况下,您需要停止并重新启动 ssh 守护程序(服务器端、容器端,如 in this thread 所示)

    usr/sbin/sshd -d
    

    这将允许您检查:

    • 如果收到 SSH 请求
    • 如果因任何原因被阻止

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-11
      • 2015-08-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多