10

OK、私はこのトピックに何度も出くわしましたが、通常の解決策がどれもうまくいかなかったのはこれが初めてです.

GitLabを実行している CentOS 6.4 サーバーがあります。20 を超えるユーザーと 60 を超えるプロジェクトでうまく機能していますが、約 5 時間前に、メインのステージング サーバーがキー認証を使用して初めて GitLab マシンに接続できず、パスワードの入力を求められました。RSA キーを再生成して展開キーに追加しましたが、これも失敗しました。

次に、ステージング サーバーで新しいユーザーを作成し、そのキーを作成して GitLab に追加しようとしましたが、それでも失敗します。

権限:

drwxr-x---  22 root root 4.0K Oct 28 13:20 root

ルートの内側:

drwx------   2 root root     4096 Oct 28 11:49 .ssh

.ssh の内部:

-rw-------  1 root root  227 Oct 28 11:48 authorized_keys
-rw-------  1 root root 1675 Oct 28 13:09 id_rsa
-rw-------  1 root root  398 Oct 28 13:09 id_rsa.pub
-rw-r--r--  1 root root  413 Oct 28 11:49 known_hosts

git マシンに接続しようとすると、次のようになります。

OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to git.mygitlab.com [212.29.122.24] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/identity type -1
debug1: identity file /root/.ssh/id_rsa type 1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: loaded 3 keys
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.3
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'git.mygitlab.com' is known and matches the RSA host key.
debug1: Found key in /root/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-    mic,password
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
No credentials cache found

debug1: Unspecified GSS failure.  Minor code may provide more information
No credentials cache found

debug1: Unspecified GSS failure.  Minor code may provide more information
No credentials cache found

debug1: Next authentication method: publickey
debug1: Offering public key: /root/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-    mic,password
debug1: Trying private key: /root/.ssh/identity
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Next authentication method: password
git@git.mygitlab.com's password:

Web インターフェイスを介して SSH キーを追加しても、それらが に追加されません.ssh/authorized_keys

次に何を試せばいいのかわからない :(

4

4 に答える 4

5

GitLab に追加したキーが にならない場合.ssh/authorized_keys:

  1. sidekiq が実行されていることを確認します。キーは Sidekiq ワーカーの gitlab-shell に追加されるため、Sidekiq がダウンしているかバックログが発生している場合、それらはキーに追加されません。ps -fu git管理ページの「バックグラウンド ジョブ」タブを確認することで、これを確認できます。
  2. GitLab が gitlab-shell を適切に実行できることを確認します。Sidekiq ワーカーはgitlab-shellプロセスを実行してキーを追加します。特に、gitlab.ymlssh_userの設定が正しくない場合、または gitlab-shell がそのユーザー以外の場所にインストールされている場合、これは機能しません。~/gitlab-shell
  3. サーバーの /home パーティションがいっぱいでないことを確認します。ファイルが保存されているディスクがauthorized_keysいっぱいになると、key appends with fail! これは私を数回手に入れました。df -h /homeまだ余裕があるかどうかを確認するために使用します。

ログで gitlab-shell からのエラー メッセージを確認してください。問題によっては、unicorn または sidekiq のログにエラー メッセージが表示される場合があります。

于 2013-10-28T14:11:34.900 に答える
3

さて、今私は 5.1 未満ですが、4.1 > 4.2 4.2 > 4.3 と段階的に実行し、最終的にすべてが稼働しています。

4.1 のユーザーが知っておくべきこと - > 開発者の 1 人が $#root を含む不正なキーを追加しました... これが同期を壊した原因です。

助けてくれてありがとう

于 2013-10-30T09:31:26.480 に答える
0

ホストの以前のすべてのキーを削除する必要がありました。問題は、gitlab が古いキーを取得し、一致するものが存在しない場合、そこで失敗することです。作業中のキーは、後で順番にリストされ、選択されない場合があります。

于 2014-04-23T10:47:37.083 に答える
0

GitLab サーバーを HTTP から HTTPS に切り替えたときに、この問題に遭遇しました。ログインなどはすべて正常に機能していましたが、git@gitlab SSH 接続は失敗していました。

https://stackoverflow.com/a/19637026/2162639 (上記)の #2 を見たところ、の代わりにを使用するようにgitlab_url設定を変更する必要があることがわかりました。その設定を変更し、gitlab サービスを再起動すると、すべてが正常に機能していました。/home/git/gitlab-shell/config.yamlhttps://gitlab.server.fqdnhttp://gitlab.server.fqdn

于 2014-02-27T23:42:33.090 に答える