このように、MacbookにSSHトンネルをセットアップしました...
$ ssh -o ServerAliveInterval=3 -N -L 22222:gitosis-server:22 user@firewall.domain.com
したがって、localhost:22222 に ssh でき、ファイアウォールの背後にある gitosis-server に到達します。
ローカルの id_rsa.pub ファイルを作成し、それを gitosis サーバー (Centos5 を実行) にコピーし、次を使用して gitosis にインポートしました...
# sudo -H -u gitosis gitosis-init/var/lib/gitosis/.ssh/authorized_keys に公開鍵が表示されているので成功です。
私のMacbookに戻って、次のように ~/.ssh/config ファイルをセットアップします...ホスト gitosis-server ホスト名 localhost HostKeyAlias gitosis-server.domain.com ポート 22222だから...私はこのコマンドがうまくいくはずだと思っています...
$ git clone gitosis@gitosis-server:gitosis-admin.gitただし、パスワードを要求することはありません....公開鍵が機能している必要がある場合。
/Users/USER/Development/gitrepo/gitosis-admin/.git/ で初期化された空の Git リポジトリ gitosis@localhost のパスワード:ファイアウォールの背後にある gitosis サーバーまで git を機能させるためのアイデアはありますか?
ありがとう、
マット
編集 - SSH 試行からのデバッグの追加
「ssh -vvv gitosis@gitosis-server」というコマンドを実行しました。デバッグが戻ってきましたが、私のアイデンティティが気に入らないようです。
debug2: キー: /Users/USER/.ssh/id_rsa.gitosis (0x1019b0) debug1: 続行できる認証: publickey、gssapi-with-mic、password debug3: 最初からやり直して、別のリスト publickey,gssapi-with-mic,password を渡しました debug3: 優先公開鍵、キーボード インタラクティブ、パスワード debug3: authmethod_lookup 公開鍵 debug3: 引き続き優先: キーボード インタラクティブ、パスワード debug3: authmethod_is_enabled 公開鍵 debug1: 次の認証方法: publickey debug1: 公開鍵の提供: /Users/USER/.ssh/id_rsa.gitosis debug3: send_pubkey_test debug2: publickey パケットを送信しました。応答を待ちます debug1: 続行できる認証: publickey、gssapi-with-mic、password debug2: パケットを送信しませんでした。メソッドを無効にします debug3: authmethod_lookup パスワード debug3: 残り優先: ,password debug3: authmethod_is_enabled パスワード debug1: 次の認証方法: パスワード gitosis@localhost のパスワード:
編集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 は、最初に入れたキーを記憶し続けているようなものです....そして、それを正しいキーに変更させてくれません。
もどかしい...
マット