2

サーバーからのルートインストールを使用して、このマニュアルに従ってgit+gitoliteをインストールしようとしました。新しいgitoliteユーザーが自分のユーザーアカウントを持っている必要があるかどうかわかりませんか?tester.pubキーをkeydirフォルダーに追加し、リポジトリへのアクセスを構成すると、gitは常にパスワードを要求し、何も複製できないようにします

git clone tester@myserver.com:testrepo
Initialized empty Git repository in /home/testuser/git/testrepo/.git/
testuser@myserver.com's password:
Permission denied (publickey,password).
fatal: The remote end hung up unexpectedly

サーバーへのrootアクセスがなくても、gitoliteはインストール可能で構成可能である必要があるため、システムアカウントの作成(adduser testuser )が必要であるとは思いません。

それで、誰かが私が誤解したことを私に見せてもらえますか?

どうもありがとうございます。


編集:

ええと...私はクライアントインストールトランスクリプトを使用してgitoliteを再インストールします。これで、新しいpubキーを追加してプッシュすると、サーバー上のgitユーザーの〜/ .ssh/authorized_keysが正常に変更されます。だから、私の最初の試みよりも良いようです。しかし、私はまだ別の場所からrepozitoryを複製することはできません。msysgitを使用してWindowsPCのpubkey+ edit configを追加しようとすると、

$ git clone git@server.com:project.git
cloning into project...
Fatal ERROR: unable to authenticate
Fatal: the remote end hung up unexpectedly

一方、別のLinuxを試すと、パスワードを要求します。

# git clone git@server.com:project.git
Cloning into project...
git@server.com's password: 

gitユーザーにパスワードを提供した場合でも:

fatal: 'project.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

これは、システムアカウントの破損が原因である可能性があります。

今、私は本当に何をすべきかわかりません-それを機能させるために、各クライアントで何らかの方法で.ssh / configを作成する必要がありますか?

今、私は少しイライラして動揺し始めています、そして私はおそらくすべてを取り除き、慈悲深いことを試みます:-D誰かが私を助けることができることを除いて:)ありがとう。

4

3 に答える 3

5

はい、それが問題です...私も同じように直面しました..私はputtygenssh2-rsa形式を使用して公開鍵を作成しました。gitoliteはこれを受け入れません。opensshに変換する必要があります

ssh-keygen -i -f yourname.pub> yourname_openssh.pub

この変換された公開鍵を使用します

于 2011-05-31T06:26:34.827 に答える
3

' keydata'フォルダーはなく、' keydir'と' conf'のみです(ドキュメントに記載されています)。

gitolite-adminリポジトリ( )をローカルで複製した場合はgit clone gitolite@server:gitolite-admin、次のことを行う必要があります。

  • keydirリポジトリ内のユーザーにちなんで名付けられた新しい公開鍵を追加します。username.pub
  • のユーザーグループの1つに同じユーザー名を追加しますconf/gitolite.conf
  • 新しい変更をgitoliteサーバーにプッシュバックします(ファイルgitolite-adminに新しい公開鍵を追加する特別なフックがリポジトリにあり~/.ssh/authorized_keysます)。
于 2011-04-11T08:37:17.747 に答える
1

msysgitの問題を解決しました。

  1. msysgitを再インストールし、PUTTYの代わりにOPENSSHを使用します(gitoliteのインストールマニュアルで推奨されていますが、以前にmsysgitをインストールしていました)
  2. ssh-keyを生成するときは、デフォルト名がid_rsaである必要があります。そうでない場合、機能しませんでした。

私は常にキーのカスタム名を持っていたので、ステップ1が必要かどうかはわかりません。また、再試行はしません:)これで、クローン/コミット/プッシュが可能になりました。

VonCの忍耐に感謝します

于 2011-04-13T20:06:06.857 に答える