3

Github と Amazon の CodeCommit の両方にプッシュするローカル git リポジトリを作成しました。

2 つのリモコンを設定し、それに応じて名前を付けました。

git remote add github git@github.com:mygit/myrepo.git

git remote add codecommit ssh://git-codecommit.us-west-2.amazonaws.com/v1/repos/myrepo

Github リポジトリは正常に動作します。CodeCommit リポジトリは機能しますが、プッシュを実行するたびに:

git push -u codecommit master

プッシュごとに「~/.ssh/known_hosts」ファイルに追加されます。続行すると、'known_hosts' ファイルに 100 万のエントリが作成されます。

私が確認できる唯一の違いは、上記のように、Github 形式とはわずかに異なる CodeCommit リモート リンクの形式です。CodeCommit でリポジトリを作成すると、リモート リンクが提供されます。

git clone ssh://git-codecommit.us-west-2.amazonaws.com/v1/repos/myrepo

ローカルの git リポジトリを CodeCommit にプッシュしているので、「git clone」部分を削除し、次のものに置き換えました。

git remote add codecommit ssh://git-codecommit.us-west-2.amazonaws.com/v1/repos/myrepo

CodeCommit では、以下を使用して「~/.ssh/config」ファイルを作成することも必要です。

Host git-codecommit.*.amazonaws.com
  User Your-IAM-SSH-Key-ID-Here
  IdentityFile ~/.ssh/Your-Private-Key-File-Name-Here

指示に従ってこのファイルを作成しました。

Github と CodeCommit の 2 つのリモートを使用しているときにこの問題に遭遇した人はいますか?

4

2 に答える 2

4

おそらく、CodeCommit はロード バランサーの背後にあり、各ノードには独自の SSH ホスト キーがあります。さまざまなノードにアクセスすると、ssh クライアントがキャッシュしている独自のホスト キーが表示されますknown_hosts

これは無視できますが、キーを蓄積したくない場合は、このリモートのキャッシュを無視することを選択できます。

~/.ssh/config、すでに追加したエントリにいくつかのパラメータを追加するだけです。

Host git-codecommit.*.amazonaws.com
  User Your-IAM-SSH-Key-ID-Here
  IdentityFile ~/.ssh/Your-Private-Key-File-Name-Here
  UserKnownHostsFile /dev/null
  CheckHostIP no
于 2017-01-07T16:52:48.467 に答える