6

ここからの指示に従ってgitosisサーバーをセットアップしました。最初のユーザーには問題なく動作しますが、最近新しいユーザーを追加しました。これが私が取ったステップです。

  • ssh-keygenファイル名johndoeを使用してrsaキーペアを作成しました。
  • 次に、それをgitosisadminrepoのkeydirにコピーしました。
  • gitosis構成ファイルを編集し、ユーザーjohndoeをメンバーのリストに追加しました
  • を使用して変更をコミットしましたgit commit -a -m "what i did"
  • 変更をサーバーにプッシュしました

その後、新しいキーファイルでチェックアウトしようとしました。パスフレーズを要求し、正しく入力すると、ユーザーgitのパスワードを要求します!!! ユーザーgitのパスワードはありません。

これで、sshd_configでPasswordAuthenticationをオフにしましたが、「アクセスが拒否されました(パブリックキー)」と表示されます。gitユーザーのauthorized_keysファイルを確認しましたが、そのファイル内で承認されているキーは1つだけです。つまり、gitosis管理者の初期キーです。

./gitosis-admin.git/hooks/post-updateフックの権限も再確認しましたが、755があります

4

7 に答える 7

6

Gitosis はちょっとばかげています — キーファイルに使用したファイル名は文字通り「johndoe」ですか? その場合は、次のように変更します。

git mv keydir/johndoe keydir/johndoe.pub
git commit -m "changed key name"
git push

そしてさらに試みる。

また、Arlen Cuss が指摘しているように、それが実際に秘密鍵でなく公開鍵であることを確認してください。

于 2011-02-03T05:43:02.337 に答える
5

こんにちは、私は同じ問題を抱えていました、そして私はついに解決策を見つけました。

私は多くのウェブサイトからの指示に従わなければなりませんでしたが、毎回

git clone git@[serveur_name]:gitosis-admin.git

GITのパスワードを求めていました。

解決策:管理者公開鍵(クライアントユーザーで作成され、サーバーのtmpディレクトリにインポートされたもの)をauthorized_keysファイル(/home/git/.ssh/サーバーのディレクトリにあります)内に挿入しましたが、機能するようになりました。

 cp authorized_keys authorized_keys.bak
 cat /tmp/id_dsa_git.pub >> authorized_keys

私はこれを@http://fclose.com/b/linux/366/set-up-git-server-through-ssh-connection/で見つけました

于 2011-11-23T10:39:13.617 に答える
1

秘密鍵ではなく、gitosis レポジトリ内に公開鍵を入れていることを確認してください!

キーファイルを生成すると、ファイルが得られ.pubます — そのファイルを使用しますが、名前gitosis.conf.pub.

于 2011-02-03T08:02:52.673 に答える
1

.pub ファイルも追加 (git add) し、それらをリポジトリに適切にコミットしてプッシュしたことを確認してください。

于 2011-07-24T11:22:34.367 に答える
0

Windows ユーザーにとってよく失敗し、そこにあるほとんどのチュートリアルではキャッチされないことが 1 つあります (Linux クライアントを使用していると想定されているため)。

Windows git コンソールである msysgitは、Windows では (Windows 7) C:\Users\YOURUSERNAME.ssh\id_rsaである/home/YOURUSERNAME/.ssh/id_rsa で秘密鍵を探しています。

ほとんどの場合、フォルダーは自動的に作成されるため、ファイルに「id_rsa」という名前を付ける必要があるか、msysgitで使用されないことを見逃しています。msysgitに他のキーを使用するように指示する方法が見つかりませんでした

于 2012-06-23T10:18:23.887 に答える
0

私は最近、仕事用のプライベートリポジトリでこの問題に遭遇しました。私はこの答えに出くわし、答えを読みました。thisthisはうまくいきました。

後世のためにまとめると、必ずディレクトリに.pubキーを追加してください。.pubファイルgitosis-admin/keydirである必要があります。

gitosis-adminに変更をコミットしてプッシュします。

~/.ssh/authorized_keysは自動的に更新されるため、公開鍵ファイルの出力を cat-redirect する必要はありません。

お役に立てれば

于 2012-02-10T17:57:04.547 に答える
0

発生した可能性が最も高いのは、更新後のフックが適切に実行されなかったことです。

~git/.ssh/authorized_keys に公開鍵があることを確認してください。

そうでない場合、更新後のフックは実行されませんでした。その後変更された権限は? その他の構成エラー。どこかからコピー?

  1. サーバーで、gitosis admin をチェックアウトします: git clone /path/to/gitosis-admin.git。gitosis.conf にわずかな変更を加えます。公開鍵が keydir にあることを確認してください。これを git ユーザーとして実行する必要がありました。

  2. gitosis.conf をコミットします。git add gitosis.conf && git commit -m "refresh keys".

  3. 次に、authorized_keys ファイルを確認します。

  4. gitosis.conf を元に戻し、再度コミットします。

アクセスをテストします。このプロセスの後、authorized_keys が更新されない場合は、ログでエラー メッセージを確認してください。

于 2016-11-01T07:02:32.087 に答える