4

リモートの Ubuntu ボックスに Gitosis をセットアップしました。次のコマンドでは、これをホストとして linuxserver と呼びます。また、Cygwin を使用して Windows ボックスから接続しています。

http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-wayに従って指示に従いました。

gitosis-admin リポジトリをローカル マシンにクローンする必要が生じるまで、問題はありませんでした。

git clone git@linuxserver:gitosis-admin.git

これを行うと、コマンドは実行されますが、ctrl-c を押してコマンド プロンプトに戻るまで何も表示されずにハングします。メッセージはまったく表示されません。

「ssh linuxserver」を使用して通常のアカウントにログインすると、パスワードを要求することなく完全に機能するため、ssh キーが適切に設定されていると確信しています。

編集: 週末に、ほぼ同じ Ubuntu ボックスを自宅にセットアップしましたが、Gitosis のセットアップに問題はありませんでした。唯一の違いは、Cygwin ではなく OSX から接続していたことです。

編集: 「Git拡張機能」で提供されるBashシェルを使用しても問題がないことも発見したため、問題は間違いなくCygwinの競合のようです。

編集: 単なる更新ですが、この質問を投稿してから約 1 か月後に Mercurial に切り替えたところ、git よりもはるかに気に入っていることがわかりました。提案に感謝しますが、git に戻ってそれらを試すつもりはありません。

4

6 に答える 6

3

また、conf で debug オプションを設定することをお勧めします。

[gitosis]
loglevel = DEBUG
于 2009-12-16T14:41:39.517 に答える
1

私はあなたと同じ問題を抱えていました。問題に対する私の解決策は、サーバー上のssh構成ファイルで許可されたユーザーにユーザー「git」を追加することでした。基本的な見落とし - はい - しかし、同じチュートリアルに従い、この手順が言及されていないため、他の人が git ユーザーを ssh 構成ファイルに追加することを忘れている可能性があります。

于 2009-12-08T08:51:22.843 に答える
1

私のコンピューターでも同様の問題がありました。Archlinuxにgitosisをインストールしましたが、実行時に動作します

git clone ssh://git@localhost/oslab.git

しかし、localhost を 192.168.1.1 のような IP に変更すると、ハングします。

于 2009-12-08T12:56:20.150 に答える
1

これらの手順は、gitosis をインストールするときに何をしているのかをより詳しく説明していることがわかりました。誰かを助けるかもしれません。

于 2009-11-23T14:02:37.083 に答える
1

サーバーで確認/var/log/messagesしましたか?
ユーザー名「git」が正しく機能しない可能性があります: Gitosis のコメントから、

authorized_key ファイルを見ると、キーが生成されたシステムの名前ではなく、サーバー ボックスの名前がインポートされていることがわかります。

例: 「git」のユーザー名を使用すると、承認されたキーでこれが発生しました

root@git-repo:/home/git/.ssh# cat authorized_keys command=”gitosis-serve root@git-repo”

ユーザー名「gitosis」に変更後はこんな感じ

root@git-repo:/home/gitosis/.ssh# cat authorized_keys command=”gitosis-serve myuser@mylocalbox”, 

修正するために、/home/gitosis のホーム ディレクトリでユーザー gitosis を作成し、git-init スクリプトを再度実行しました。

sudo -H -u gitosis gitosis-init < /tmp/id_rsa.pub
sudo chmod 755 /home/gitosis/repositories/gitosis-admin.git/hooks/post-update

次に、ローカルボックスで..

git clone gitosis@YOUR_SERVER_HOSTNAME:gitosis-admin.git
于 2009-07-24T07:22:11.467 に答える
0

他の誰かがこの問題を抱えていて、Msys Git もインストールされているクライアントの Cygwin 環境から接続しようとしていた場合は、GIT_SSH 環境変数の値を確認してください。plink.exeではなく、/usr/bin/sshに設定されていないか等しい必要があります

git ユーザーとしてサーバーに ssh できました (gitosis スクリプトからの拒否が予想されます) が、クローンを作成できませんでした。

git はまだホストが不明であると警告していましたが、直接の ssh 接続では不明であったため、奇妙なことが起こっていることに気付きました。これは、strace の出力を調べたときに確認されました

strace git clone git@server:gitosis-admin.git | less

文字列「ssh」を検索すると、GIT_SSH が plink.exe (Msys Git によって使用されるパテ ssh クライアント) を指していることがわかりました。plink.exe が機能しなかった理由はわかりませんが、GIT_SSH=/usr/bin/ssh を設定すると問題が解決しました。

于 2010-06-12T12:44:27.580 に答える