4

gitlab wiki のマニュアルに従って厳密に Gitlab をセットアップしました。できます。Web アクセスがあり、プロジェクトも作成できます (その後、git リポジトリが作成されています)。大丈夫。

しかし、新しく作成したプロジェクトリポジトリをクローンしようとすると

git clone git@git.myserver.com:myproject.git

私の開発マシンから、サーバーはgitユーザーのパスワードを入力する必要があると言います(このユーザーにはパスワードがありません)。提供したキーで認証する必要があると思います。

私の環境: 開発マシンで ssh キーを正常に作成し、HOME環境変数を C:\Users\ に設定しました。Sshは、他のサーバー(およびこのサーバーにも)へのキーを使用してユーザーを正しく承認します。また、 gitユーザー用に生成されたキーを追加しました。

次のコマンドは、ローカルサーバーユーザーからも正常に機能しています(これもマニュアルに従っています):

sudo -u gitlab -H git clone git@localhost:gitolite-admin.git /tmp/gitolite-admin

私のgitユーザーのauthorized_keysファイルは次のようなものです:

# gitolite start
command="/home/git/bin/gl-auth-command gitlab",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa <LONG_KEY_HERE> gitlab@odiszapc
# gitolite end

gitlab Web コンソールから ssh キーを追加した後、 authorized_keysファイルにユーザー キーが必要ですか? みんな、私が間違っているのは何ですか?

4

2 に答える 2

3

つまり、次のことを意味します。

  • 公開/秘密の ssh キーがローカル (~/.sshディレクトリ内)で見つからない場合
  • または、公開鍵が~/.ssh/authorized_keysgitlab によってサーバーに登録されていません (ここではそのようです: ssh キーを追加すると、gitlab による公開がトリガーされます)。
    これはGitLab issue 900に似ています。
    改行を含むキーをコピーして貼り付けることができます。

永続化する前にキーから改行を削除します

あなたはより多くを知るでしょう:

ssh -vvv git@git.myserver.com

サーバー上のすべての操作はユーザー「git」として実行されることに注意してください。これが、gitパスワードを要求するフォールバックの理由です。これは、 gitolite が ssh でどのように機能するかです


OPが言及しているように、問題はgitoliteが正しくインストールされていないことに関するものでした。
これは、GitLab の「検証ステップ」によって検出されるべき種類の問題です。

sudo -u gitlab bundle exec rake gitlab:app:status RAILS_ENV=production

gitolite に関しては、次のようになります (強調のために「vvv」と「 」を追加しました^^^)。

# OUTPUT EXAMPLE
Starting diagnostic
config/database.yml............exists
config/gitlab.yml............exists
/home/git/repositories/............exists
/home/git/repositories/ is writable?............YES

vvvvvvvvvvvvvvvvvvv

remote: Counting objects: 603, done.
remote: Compressing objects: 100% (466/466), done.
remote: Total 603 (delta 174), reused 0 (delta 0)
Receiving objects: 100% (603/603), 53.29 KiB, done.
Resolving deltas: 100% (174/174), done.
Can clone gitolite-admin?............YES

^^^^^^^^^^^^^^^^^^

UMASK for .gitolite.rc is 0007? ............YES

そうでない場合は、Gitolite の再インストールが必要です。

于 2012-07-15T11:29:57.080 に答える
0

わかりました、私はそれを手に入れたと思います。

Web インターフェイスからユーザーのキーを追加すると、authorized_keysファイルに追加されません。私がしているのは、gitolite のインストールを完全に削除してから、gitolite wikiのネイティブ マニュアルに従って再インストールすることです。ユーザーにキーを追加すると、このキーがauthorized_keysに追加され、すべてが正常に機能するようになりました。

于 2012-07-16T00:31:41.297 に答える