
弊社の開発者は全員 Windows ワークステーションを使用しています。Linux 開発サーバーも稼働しています。開発サーバーで独自の Git サーバーを稼働させてみたいと思っていました。
いくつか調べた後、インストールしてみることにしましたギトライトインストール方法に関するチュートリアルの多くは非常に似通っており、私は従ってきましたこれです。
私にとってあまり意味をなさないステップの 1 つは、クライアント マシンで公開キーを生成し、それをサーバーにアップロードして次のように使用する必要があることです。
$ gl-setup YourName.pub
この手順の目的がわかりません... 接続して Git リポジトリを使用するクライアント マシンが 12 台ほどありますが、どのマシンが「クライアント」マシンなのでしょうか? この手順は、クライアント マシンごとに 1 回以上実行する必要がありますか? 後で新しいクライアント マシンを追加する必要がある場合はどうなりますか? この手順はなぜ必要ですか?
キーは、クライアント マシンがログイン/パスワードを入力しなくてもサーバーで認証できるようにするためのものだと思います。クライアント ワークステーションが Git リポジトリにアクセスするために使用するログイン/パスワード システムを設定するだけではだめですか? LDAP ログインを統合するだけでよいですか? 公開キーは必要ですか?
また、私たちは Linux ではなく Windows ワークステーションを実行しているため、公開キーの生成は、openssl をインストールして実行するほど簡単ではありません。
このようなものをインストールするのはもっと簡単なはずです...
答え1
gitolite を使用する各ユーザー/クライアント マシンの組み合わせに対して、キーを生成/追加する必要があります。キーは gitolite-admin/keydir ディレクトリにコピーされます (私は $USERNAME-$HOSTNAME-id_rsa.pub 命名規則を使用しています。必須かどうかはわかりませんが、私の環境ではうまくいきます)。キーを keydir ディレクトリに追加したら、gitolite-admin/conf/gitolite.conf ファイルを更新して、適切なプロジェクト/ユーザー アクセスを設定する必要があります (命名規則として $USERNAME-$HOSTNAME-id_rsa を使用)。
git add conf keydir
それが完了したら、、、commit -m "blah blah blah"
ダンスを実行できgit push origin master
、すべてがうまくいけば、適切なユーザーがサーバー上の適切な git リポジトリにアクセスできるようになります。
編集:Windows ユーザーが使用している Git クライアントの設定が何であるかは覚えていませんが、キーを生成するためのすべての要素が揃っています (キーは入手できないため、尋ねることはできません)。理解して動作させるまでに数回の試行が必要でしたが、一度設定するとうまく動作するようです。
答え2
Gitolite は、通常、gitolite
サーバー上で認証に 1 人のユーザーのみを使用します。そのため、keydir
ユーザーを追加するには、他のユーザーの公開キーを gitolite ディレクトリに追加します。公式ドキュメントでは、次のことがわかりますgitolite is (usually) heavily dependent on ssh
。http://sitaramc.github.com/gitolite/gl_ssh.html。