問題タブ [gitosis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - SSH トンネル経由で gitosis サーバーに接続する
このように、MacbookにSSHトンネルをセットアップしました...
したがって、localhost:22222 に ssh でき、ファイアウォールの背後にある gitosis-server に到達します。
ローカルの id_rsa.pub ファイルを作成し、それを gitosis サーバー (Centos5 を実行) にコピーし、次を使用して gitosis にインポートしました...
だから...私はこのコマンドがうまくいくはずだと思っています...
ただし、パスワードを要求することはありません....公開鍵が機能している必要がある場合。
ファイアウォールの背後にある gitosis サーバーまで git を機能させるためのアイデアはありますか?
ありがとう、
マット
編集 - SSH 試行からのデバッグの追加
「ssh -vvv gitosis@gitosis-server」というコマンドを実行しました。デバッグが戻ってきましたが、私のアイデンティティが気に入らないようです。
編集2
OK...間違いなく悪いキーです。すべてのキーを再度確認したところ、もちろん、gitosis-server がauthorized_keys ファイルに不正なキーを保持していることがわかりました。
debug1: userauth-request for user gitosis service ssh-connection method none debug1: 試行 0 失敗 0 debug1: PAM: 「gitosis」の初期化中 debug1: PAM: PAM_RHOST を「firewall.domain.com」に設定 debug1: PAM: PAM_TTY を「ssh」に設定 debug1: userauth-request for user gitosis service ssh-connection method publickey debug1: 試行 1 失敗 1 debug1: pkalg/pkblob が受け入れられるかどうかをテストします debug1: temporary_use_uid: 102/103 (e=0/0) debug1: 公開鍵ファイル /var/lib/gitosis/.ssh/authorized_keys を試しています debug1: restore_uid: 0/0 debug1: temporary_use_uid: 102/103 (e=0/0) debug1: 公開鍵ファイル /var/lib/gitosis/.ssh/authorized_keys2 を試しています debug1: restore_uid: 0/0 FIRE.WALL.IP.ADDRESS ポート 52453 ssh2 からの gitosis の公開鍵の失敗
gitosis サーバーの authorized_keys ファイルを詳しく調べてみましたが、正しくありませんでした。ワークステーションから /tmp にコピーした公開鍵ファイルを再確認したところ、正しいものでしたが、authorized_keys にあるものとは異なりました。サーバー上のauthorized_keysファイルを削除し、「sudo -H -u gitosis gitosis-init < /tmp/id_rsa.gitosis.pub」を再実行しました。authorized_keys ファイルをもう一度確認しましたが、それでも間違っていました。
私は、authorized_keys を編集して正しいキーを追加することで、手動で更新しました。その後、1 回か 2 回、トンネルを介してワークステーションから動作するようになりました。その後、以前のように機能しなくなりました。私はgitosisサーバーのauthorized_keysファイルに戻りましたが、確かに....gitosisはそれを機能しない古いキーに戻しました。
なぜこれをやっているのですか....悪い公開鍵に戻っています....上記のコマンドで追加しようとした後でも...変更に失敗しました....その後、手動で変更しました....これは機能しましたが、git は再び悪い状態に戻りました。
gitosis は、最初に入れたキーを記憶し続けているようなものです....そして、それを正しいキーに変更させてくれません。
もどかしい...
マット
git - gitosis 認証キー
奇妙なこと - git push で gitosis は新しいユーザーのキーを /home/git/.ssh/authorized_keys に追加しません。もちろん、キーを手動で追加することもできますが、うまくいきません:(
私に何ができる?
git - gitosis と git clone の問題
gitosis をインストールしましたが、リポジトリで作業しているときに奇妙なことがあります。設定で私は持っています
/home/git/repositories に、空の git リポジトリを含むディレクトリ prj1.git を作成しました。
サーバーとラップトップから問題なく gitosis-admin を使用できますが、ラップトップでgit clone prj1 を実行しようとすると、次のように表示されます。
よし、ラップトップからサーバーに prj1 をプッシュしましょう:
どうしたの?
git - 改行による解析エラーを含む gitosis.conf ファイルのプッシュから回復するにはどうすればよいですか?
Android ミラー (複数の git リポジトリを含む) の gitosis を正常にセットアップしました。gitosis.conf で writable= の後に新しい .git パスを追加する際に、いくつかの改行を挿入することができました。次の解析エラーを受け取ったときに、保存、コミット、およびサーバーへのプッシュ:
トレースバック (最新の呼び出しが最後): ファイル "/usr/bin/gitosis-run-hook"、8 行目、load_entry_point('gitosis==0.2', 'console_scripts', 'gitosis-run-hook')() 内
ファイル「/usr/lib/python2.5/site-packages/gitosis-0.2-py2.5.egg/gitosis/app.py」、24 行目、実行中 return app.main()
ファイル "/usr/lib/python2.5/site-packages/gitosis-0.2-py2.5.egg/gitosis/app.py"、38 行目、メインの self.handle_args(parser, cfg, options, args)
ファイル "/usr/lib/python2.5/site-packages/gitosis-0.2-py2.5.egg/gitosis/run_hook.py"、75 行目、handle_args post_update(cfg, git_dir) 内
post_update cfg.read(os.path.join(export, ' ..', 'gitosis.conf'))
ファイル「/usr/lib/python2.5/ConfigParser.py」、267行目、読み取りself._read(fp、filename)
ファイル "/usr/lib/python2.5/ConfigParser.py"、490 行目、_read raise e
ConfigParser.ParsingError: ファイルに解析エラーが含まれています: ./gitosis-export/../gitosis.conf
(...)
改行を削除し、コミットを修正しました
git commit -m "改行を修正" --amend
ただし、 git push でもまったく同じエラーが発生します。それは、ギトーシスが私がそれ以上のプッシュをするのを妨げていると私に信じさせます.
これから回復するにはどうすればよいですか?
git - Gitosis と ssh キー - メールアドレスは git メールアドレスと関係がありますか?
サーバーに gitosis をセットアップしようとしています。1 つ疑問に思っていたのは、もともと github で使用していた ssh キーの末尾に gmail アドレスが含まれていることです。私がセットアップしているサーバー上のこの新しいプロジェクトでは、git にコミットするときに、この組織の電子メール アドレスを使用したいと考えています。gitosis で設定するときに同じ ssh キーを使用しても問題ありませんか、それとも自分のアカウントで生成された別の ssh キーを使用する必要がありますme@newserverか?
git - Windows からの git push 検証により、作成者が不明に設定されます
最近、Ubuntu サーバーのプライベート ネットワークに新しい gitosis をセットアップしました。ネットワーク内の他のすべてのクライアントは、1 つの Linux クライアントを除いて Windows XP マシンです。
gitosis.conf で次のように設定しています。
また、user1.pub、user2.pub、および user3.pub キー ファイルを keydir に配置しました。キーは ssh-keygen を使用して Ubuntu サーバー上で生成され、それぞれのユーザーに配布されました。公開鍵のコピーは keydir に配置されます。
最初の 2 人のユーザーは Windows XP ユーザーで、msysgit + TortoiseGit を使用してリポジトリを操作し、1 人のユーザーは Linux マシン上でデフォルトのコマンド ライン バージョンの git を使用してリポジトリにアクセスします。
これですべてが適切にセットアップされ、誰もが期待どおりのことを実行できるようになりました。プル、プッシュ、コミットが可能になりました。ログを確認するときを除いて、すべて問題ないようです!!!
Linuxマシンでuser3を使用して、「git log」コマンドを試したところ、次の出力が得られました。
これは正しくありません。このログは、Push の作成者が誰であるかを教えてくれるはずです。私が感じているのは、ユーザー名と電子メールが Linux ユーザー情報にも追加されるため、Linux のユーザーに正しい値を与えることですが、Windows クライアントの場合は正しくないため、名前が正しく表示されません。しかし、Windows マシンで名前を修正したとしても、他のユーザー名をエミュレートすることでこれが損なわれる可能性があります。これを避けるために、ユーザー名に依存したくありません。
SSHファイルで提供された名前がそこに表示されるか、プッシュ中に使用されたSSHファイルの名前が作成者として追加されるようにします。
git のフック pre-receive がここで役立つかもしれませんが、使い方がわかりません... 誰か助けてくれますか?
ありがとう、ラケシュ
アップデート:
回答ありがとうございます。
alexandrul、私はグローバル設定を設定していません。これは、すべてのユーザーの情報を正しくログに記録する必要があるためです。
スケルチ、あなたは正しいです。ユーザー名を省略しているユーザーを確認できますが、そうするように強制するにはどうすればよいですか。ローカル プロジェクト プロジェクトを構成し、ユーザー名と電子メール アドレスを設定するように指示することはできますが、誰かが偽のユーザー名を使用したり、他の誰かのユーザー名と電子メール アドレスを使用しようとしたり、基本的に他の人のなりすましを試みたりした場合はどうなりますか?
そのため、秘密鍵ファイルの名前をログに記録しない理由を考えました。たとえば、user1 のファイル名を user1.ppk に設定し、user2 の user2.ppk に設定しました。そのような場合、誰かが他人を偽装しようとしても成功しないため、チェックに使用されるキー名が真実を教えてくれます。
何か案は???
よろしく、ラケシュ
更新 2:
手伝ってくれてありがとう。Squelch さん、時間を割いて詳しく説明していただきありがとうございます。テレビのクモの巣は情報が多いと思いますので、今読んでみてください。
今のところ、私が行ったことの1つは、ユーザーに構成を更新してユーザー名と電子メールアドレスを含めるように依頼したことです。しかし、ユーザーごとに追跡できないため、問題を解決する必要があります。
キーファイルでtunnledユーザー名を使用し、SVNで記録されるSVN + SSHのようなものが必要です。
git - 構成変更のプッシュ後にGitosisがサーバー構成を更新しない
私は以下で提供されるチュートリアルを使用してgitosisを設定しました:
http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way
gitosis.confに適切な権限を追加した後、新しいリポジトリをプッシュして作成できなかったことがわかりました。「読み取りアクセスが拒否されました」というエラーが継続的に発生します。更新されたgitosis.confファイルを含むサーバー上の実際のリポジトリをチェックすることになりました。しかし、gitosisユーザーのホームフォルダにある「.gitosis.conf」ファイルを確認したところ、更新されていないことがわかりました。このファイルの内容をリポジトリ内の内容に置き換えると、問題なく新しいリポジトリを作成して使用することができました。
誰かがこれを引き起こしている可能性があることを知っていますか?gitosisは更新後のフックを使用してサーバーを適切に更新することを知っているので、問題はおそらくその周辺にあると思います。
前もって感謝します!ブライアン
git - Gitosisのインストールの問題
メインサイト(http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way)の手順を使用してgitosisをインストールしました。ネットを検索すると、かなり標準的なインストール方法のようです。ただし、gitosis-adminのクローンを作成しようとすると、次のエラーが発生するようです。
git clone git@192.168.1.20:gitosis-admin.git fatal:'gitosis-admin.git'はgitリポジトリではないようです致命的:リモートエンドが予期せずハングアップしました
誰かが問題が何であるかについて何か考えを持っていますか?Arch Linux Python 2.6.3Git1.6.5.1でgitosisを実行しています
git - ローカルファイルシステム上のリポジトリとの git-merge
いくつかのコンテキストについて:既存のgitosisインストールを壊したUbuntuをアップグレードしたところ(ここを参照:バグ#368895)、パッケージからgitosisを再インストールしました。古い gitosis インストール (まだ存在し、プルすることはできますが、それ以外の場合は壊れています) から構成全体とリポジトリのセットを移行したいと考えています。
これで、gitosis インストールごとに 1 つずつ、ローカルに 2 つの gitosis-admin ディレクトリができました。1 つは完全な履歴を持ち、もう 1 つは空です。この歴史を紐解いていきたい。しかし、ここで何が起こっているのですか:
...そこにはgitリポジトリが~/gitosis-admin-old/あり、~/gitosis-admin-new/
おそらく、他のリポジトリについてもこれを行う必要があるでしょう。これらのリポジトリには、はるかに長く重要な履歴があるため、1 つとしてコピーしてコミットすることはできません。
私は何を間違っていますか?私が理解しているようにコミットである .git/HEAD を指そうとしましたが、うまくいきません。誰かがこれを行う方法を説明できますか? ありがとう!