2017-01-07 9 views
0

Я создал локальный репозиторий git, который я хочу нажать на Github, а также на CodeCommit от Amazon.Git Keeps Building на моем файле «known_hosts» для каждого нажатия

Я создал два пультов и назвал их соответственно:

git remote add github [email protected]: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».

Единственное отличие, которое я вижу, это форматирование удаленной ссылки CodeCommit, которая немного отличается от формата Github, как показано выше. При создании репо на CodeCommit, она обеспечивает удаленную связь:

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

Поскольку я толкая локальный Git репо на CodeCommit, я удалил часть «мерзавец клон» и заменить его:

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

CodeCommit также требует, чтобы вы создали файл '~/.ssh/конфигурации' с:

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

Я создал этот файл в соответствии с инструкциями.

Кто-нибудь сталкивается с этой проблемой при использовании двух пультов: Github и CodeCommit?

ответ

3

Вероятно, 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 
+0

Привет, Dan и благодарю вас за ответ. Я продолжал проверять это, и после запуска более 10 нажатий на каждой платформе, я обнаружил, что Гитуб делал то же самое. Оба CodeCommit и Github толкали сбор нескольких IP-адресов хоста. Я не совсем уверен, откуда они. Я могу с уверенностью сказать, что после регистрации всех этих IP-адресов хоста он перестанет добавлять их в мои файлы ~/.ssh/known_hosts. Раньше я на самом деле думал, что собирает ip-адреса из здания, в котором я нахожусь, но я думаю, что ошибался. Еще раз спасибо и хорошо провести выходные. –