このチュートリアルに従って、EC2インスタンスにgitリポジトリをセットアップしました。 http://git-scm.com/book/ch4-4.html 。基本的に、新しいgit
ユーザーを追加し、公開鍵をauthorized_keysに含めます。 git
ユーザーを設定した後、git init --bare
で新しいリポジトリを初期化するだけです。
ただし、秘密鍵を必要とせずに簡単に複製できることに気づきました。 SSH経由でのみ利用できるようにする方法はありますか?authorized_keysに従いますか?認証をサポートしていないように見えるポート9418であるgitのデフォルトを使用していると思います。
[〜#〜]更新[〜#〜]
さて、キーのない新しいボックスで試してみましたが、ログインしたり、リポジトリを複製したりできませんでした。 ssh-add -Dが何らかの理由で機能しないことに気付きました。私は最も役立つ答えを選んでいます、ありがとう。
ポート9814はgit-daemon
実行(例:クローン、git clone git://git.example.com/repo
)。これは、内部git
リポジトリ用です。詳細は ドキュメント を参照してください。
リモートgit
サーバーを設定するには、他に2つのオプションがあります。
git clone ssh://git.example.com/git/repo
git clone https://git.example.com/git/repo
SSHはセットアップがはるかに簡単です。すべての寄稿者がSSHアカウントにアクセスできることを確認する必要があるだけです。これは通常、SSHキーを介して行われます---各開発者は公開キーをgit
SSHアカウントに追加します。
覚えとけ:
ssh
、git
、http
またはhttps
)。ssh
のポート22https
のポート443git
の場合はポート9814、http
の場合はポート80あなたはgit-daemonが責任を負うという想定の下にいるようです。 git-daemonが実際にシステムで実行されていることを確認しましたか?プロセスリストと開いているポートのリストを確認します。
$ ps auxwww | grep git-daemon
$ Sudo netstat -ptuna | grep 9814
Git-daemonが実行されておらず、ポート9814で何もリッスンしていない場合は、他に何か問題がある可能性があります-追加した新しいgitユーザーにパスワードが設定されていないか、SSH構成がKerberosを使用していて、既存の有効なサービスチケット。
HTTPとSSHは、gitがサポートする半ダースほどのプロトコルの2つにすぎません。私はgitがuser @ Hostという形式のURLでのみSSHを使用することを信じているので、あなたのgitユーザーの認証の問題であると私は確信しています。
リポジトリを複製するときは、システムの認証ログ(通常は/var/log/auth.logまたは/ var/log/secure)を監視します。クローン操作中にgitユーザーのSSHログインが表示された場合は、ほぼ確実にgit-daemonではなくSSHを使用しています。