[解決済み] git push で指定したドメインの SSH 鍵を指定する。
質問
次のようなユースケースがあります。にプッシュできるようにしたい。
[email protected]:gitolite-admin
の秘密鍵を使って
gitolite-admin
にプッシュしたいが
[email protected]:some_repo
を「自分の」秘密鍵で使用しています。AFAIKでは、この問題を解決するには
~/.ssh/config
ユーザー名とサーバー名が同じであるためです。私はほとんど自分の秘密鍵を使用しているので、その秘密鍵は
~/.ssh/config
に対して
[email protected]
. のキーを上書きする方法をご存知の方はいらっしゃいますか?
git
を呼び出すことができますか?
(余談: gitoliteはキーを元に誰がプッシュしているかを区別しているので、user@serverの文字列が異なるユーザーで同一であっても、アクセス、所有、監査の観点からは問題ありません)。
解決方法は?
ユーザーとホストが同じでも、区別するために
~/.ssh/config
. 例えば、以下のような構成であれば。
Host gitolite-as-alice
HostName git.company.com
User git
IdentityFile /home/whoever/.ssh/id_rsa.alice
IdentitiesOnly yes
Host gitolite-as-bob
HostName git.company.com
User git
IdentityFile /home/whoever/.ssh/id_dsa.bob
IdentitiesOnly yes
そうすると、単に
gitolite-as-alice
と
gitolite-as-bob
の代わりに、URLのホスト名を指定します。
git remote add alice git@gitolite-as-alice:whatever.git
git remote add bob git@gitolite-as-bob:whatever.git
備考
というオプションを含めたい。
IdentitiesOnly yes
を使用して、デフォルトの ID が使用されないようにします。そうしないと、もしデフォルトの名前にマッチする id ファイルがあった場合、そちらが最初に試されることになります。
IdentityFile
オプション
を追加します。
を、試すべき ID のリストに追加します。参照してください。
https://serverfault.com/questions/450796/how-could-i-stop-ssh-offering-a-wrong-key/450807#450807
関連
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] git に自分の好きなエディタを使わせてコミットするにはどうしたらいいですか?
-
[解決済み] Git を使ってタグをリモートリポジトリにプッシュするには?
-
[解決済み] Git で現在のコミットのハッシュを取得する方法は?
-
[解決済み] Gitのプッシュでユーザー名とパスワードが必要
-
[解決済み] Gitのプッシュを正しく強制する方法は?
-
[解決済み] Git上でシェルコマンドを実行する際に使用するSSH-keyの秘密鍵を指定する方法は?
-
[解決済み] プッシュ後に git のコミットメッセージを変更する (誰もリモートからプルしていないと仮定した場合)
-
[解決済み】ブランチを指定せずにgit pushした場合のデフォルトの動作
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Gitのエラー。リモートリポジトリへの接続時に「Host Key Verification Failed」。
-
[解決済み] [Solved] originにプッシュしようとすると、Gitが「No such remote 'origin'」と言うのはなぜですか?
-
[解決済み] LFはgitでCRLFに置き換えられます - それは何ですか、そしてそれは重要ですか?[重複]。
-
[解決済み] git が「Pull is not possible because you have unmerged files」と表示するのはなぜですか?
-
[解決済み] git rebase: "error: cannot stat 'file': パーミッションが拒否されました"
-
[解決済み] .ssh/config: "不正な設定オプションです。Mac OS Sierra 10.12.6 で "UseKeychain" が表示される。
-
[解決済み] Git上でシェルコマンドを実行する際に使用するSSH-keyの秘密鍵を指定する方法は?
-
[解決済み] .gitconfigに自分用のユーザーを複数指定することはできますか?
-
[解決済み] 同じパソコンで複数のGitHubアカウント?
-
[解決済み] キーフィンガープリントが原因でHerokuにプッシュできない