[解決済み] Git上でシェルコマンドを実行する際に使用するSSH-keyの秘密鍵を指定する方法は?
2022-03-20 23:48:11
質問
ちょっと変わった状況かもしれませんが、シェルを実行する際に使用するプライベート SSH 鍵を指定したいのです (
git
) コマンドをローカルコンピューターから実行します。
基本的にはこのような感じです。
git clone [email protected]:TheUser/TheProject.git -key "/home/christoffer/ssh_keys/theuser"
あるいはもっといい(Rubyの場合)。
with_key("/home/christoffer/ssh_keys/theuser") do
sh("git clone [email protected]:TheUser/TheProject.git")
end
でリモートサーバーに接続する例を見たことがあります。
Net::SSH
指定された秘密鍵を使用するものですが、これはローカルコマンドです。可能でしょうか?
解決方法を教えてください。
このようにすればうまくいくはずです(orepさんの提案)。
ssh-agent bash -c 'ssh-add /somewhere/yourkey; git clone [email protected]:user/project.git'
サブシェルがお好みなら、次のような方法もあります(ただし、より壊れやすくなります)。
ssh-agent $(ssh-add /somewhere/yourkey; git clone [email protected]:user/project.git)
Git は SSH を起動し、環境変数からエージェントを探します。このエージェントは、順番に鍵をロードします。
または
HOME
を含むディレクトリをセットアップすることを厭わないのであれば、このトリックも可能です。
.ssh
というディレクトリを
HOME
これは、identity.pubを含むか、または
設定ファイル
IdentityFileを設定する。
関連
-
[解決済み] Git - node_modules フォルダをどこでも無視するようにしました。
-
[解決済み] Git作者不明
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] Git で現在のブランチ名を取得するには?
-
[解決済み] git に自分の好きなエディタを使わせてコミットするにはどうしたらいいですか?
-
[解決済み] Git で現在のコミットのハッシュを取得する方法は?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Githubの認証に失敗した - ... GitHubはシェルアクセスを提供しない
-
[解決済み] あなたのブランチは 'origin/master' より 3 コミット進んでいます。
-
git push reports an error ! [リモート拒否] master -> master (受信前のフックが拒否されました)
-
git revert 複数コミット
-
[解決済み】gpgがデータの署名に失敗した fatal: failed to write commit object [Git 2.10.0].
-
[解決済み] Git作者不明
-
[解決済み] ssh "パーミッションが開きすぎています "エラー
-
[解決済み] 1つのクライアントで複数のSSH秘密鍵を使用する最適な方法 [終了しました]。
-
[解決済み] git push で指定したドメインの SSH 鍵を指定する。
-
[解決済み】Gitにプッシュすると、エラーコード403 fatal: HTTPリクエストに失敗しました が返ってくる。