2

私は gitolite で Redmine をセットアップしようとしており、このガイドを使用しましたhttp://nsaunders.wordpress.com/2012/04/24/redmine-gitolite-integration/

すべてが正常に機能しているようです。リポジトリは Redmine を介して作成されます (gitolite/repositories の下にリポジトリが表示されます)。ただし、次のコマンドでリポジトリを初期化しようとすると、同じエラー メッセージが表示され続けます。

mkdir nwi
cd nwi
git init
touch readme.txt
git add readme.txt
git commit -m 'Initializing T repository'
git remote add origin gitolite@localhost:nwi.git
git push -u origin master

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

ユーザーの公開鍵は、gitolite の autohorized_keys にあります。ユーザーは、コミットしようとしているリポジトリの gitolite.conf にいます。私はgitを初めて使用し、1000のことを試しましたが、機能しませんでした。何が間違っている可能性がありますか?

4

2 に答える 2

1
  1. 独自の鍵ペアを生成します。自分のユーザーとして実行する

    cd ~/.ssh
    ssh-keygen -t rsa ユーザー名
  2. 公開鍵 (username.pub) が gitolite /keydir フォルダーにアップロードされていることを確認してください。redmine を gitolite にバンドルしているため、おそらく redmine がこれらの公開鍵を管理しており、Redmine が admin-repository を更新できるようにそれらを Redmine にアップロードする必要があることを意味します。キーを手動で追加することはできないことに注意してください。コミットして、admin-repository を介してプッシュする必要があります (この場合、redmine がそれを行う必要があります)。

  3. 公開鍵が gitolite に登録されたら、システムに独自の鍵を登録してみてください。

    exec ssh-agent bash
    ssh-add ~/.ssh/秘密鍵名

もう一度接続してみてください

于 2012-08-04T16:50:24.723 に答える
1

これは git の問題というよりも ssh 認証の問題です。通常/var/log/secure、ssh が接続を拒否する理由を確認するには、または同様の方法で調べます。次のことを確認します。

  • 公開鍵はauthorized_keysファイルにあり、
  • このファイルの形式は正しいです (コピー アンド ペースト エラーなどはありません)。
  • authorized_keysファイルのパーミッションは600( rw-------)
  • .sshディレクトリのパーミッションは700( rwx------)
  • すべてはgitoliteユーザーの所有物
于 2012-07-31T01:26:52.340 に答える