1

Git での作業中に奇妙なエラーが発生しました。

Gitosis をインストールしました。これが私の設定です:

cat /root/gitosis-admin/gitosis.conf 
[gitosis]
loglevel = DEBUG

[group gitosis-admin]
writable = gitosis-admin
members = admin

[group sugar-dev]
writable = sugar-dev
members = eyablokov

そこで、Gitosis の管理用に 1 つの SSH キー「admin」を指定しました。また、「sugar-dev」リポジトリを作成し、別のキーをメンバーとして指定しました。「admin」キーは 1 台のマシンにあり、問題ありません。次に、「eyablokov」キーは、私の別のマシンの通常のメンバー キーです。このキーを開発者としてのみ使用する予定です。

通常の方法で変更を構成し、gitosis-admin リポジトリにプッシュしました。両方のキーは keydir/ ディレクトリにあり、リモートでもプッシュされました。

この後、「eyablokov」キーが保存されている別のマシンで、ローカル ディレクトリを作成しますmkdir ~/Projects/sugar-dev。に入力してください: cd ~/Projects/sugar-dev。次: git init、および後: git remote add origin git@SERVER:sugar-dev.git。それは大丈夫。

たとえば、何かを追加してコミットしてプッシュし、問題が発生した後:

echo 'Please, describe the project.' > DESCRIPTION
git add DESCRIPTION 
git commit -am "Added description file"

そしてgit push origin master見せてくれる

Pushing to git@SERVER:sugar-dev.git
fatal: cannot exec '/Users/gular/.ssh/eyablokov_dsa': Permission denied
fatal: unable to fork

どうすればいいのかわからない。git は、eyablokov_dsa ではなく、私の eyablokov のキーを確認する必要があります。dsa は別の私のキーです。chmod を試み、.ssh/config ファイルを移動しようとしました。ここで、IdentityFile は dsa キーを指しています。役に立ちませんでした。

4

1 に答える 1

0

ssh ベースの git サーバー (gitosis のようなもの、またはより良いのは、gitosisが廃止されて保守されなくなったため gitolite など)~/.ssh/configを使用している場合、使用する正確な ssh キー ファイル名を指定するためのファイルが必要です。(「ユーザーは gitolite の使用中にパスワードを要求
される」にも示されています)

あなたの場合:

Host eyablokov
    HostName SERVER 
    User git
    IdentityFile /Users/gular/.ssh/eyablokov

これにより、次のような URL を使用できます。

git clone eyablokov:sugar-dev.git

Windows では、git-cmd.batインスタンス (msysgit に含まれています) を使用していることを確認してください。これにより、環境変数が正しく設定HOMEされます (Windows ではデフォルトで設定されません)。

于 2013-02-28T08:14:34.053 に答える