it-roy-ru.com

Как хранить SSH Host ключ в IntelliJ IDEA

При использовании SSH в качестве соединения для интеграции git IDEA IDEA постоянно просит сохранить подпись rsa хоста в базе данных ключей хоста. Нажатие Да работает, но не сохраняет ключ в базе данных, при следующем использовании соединения IDEA возникает тот же вопрос. Нажатие Нет делает соединение неуспешным. 

Кажется, я не могу найти какую-либо конфигурацию для подключения SSH в IDEA, и Google не дает каких-либо полезных результатов ... Есть мысли о том, как избавиться от диалога хранилища ключей?

С помощью: 

IntelliJ IDEA 10.5.1 с JDK 1.6.0_22 в Windows XP

MySysGit 1.7.6 с папками bin/и mingw/bin в% PATH% 

«git.exe» как исполняемый файл git в IDEA 

"IDEA ssh" как исполняемый файл SSH в IDEA 

openssh-server 1: 5.5p1-6 (Debian Squeeze) на стороне сервера 

32
akaIDIOT

Похоже, что Windows не позволяет IDEA изменять ваши личные настройки так легко, как можно было бы ожидать. Устранение проблемы позволяет убедиться, что подпись хоста может быть сохранена. Чтобы позволить IDEA сделать это, запустите IDEA от имени администратора в Vista/Win7 или снимите «Защитить мой компьютер от неавторизованной программной активности» в диалоговом окне Запуск от имени XP только один раз. После установления SSH-соединения и сохранения подписи это исправляет раздражающий диалог. После сохранения подписи IDEA принимает Хост даже при запуске от имени обычного пользователя. 

11
akaIDIOT

У меня просто была такая же проблема с IDEA 13 на Win7, и она была решена путем переключения на "Native" исполняемый SSH на странице настроек Git. Я сделал это, запустив Intellij в качестве администратора в соответствии с принятым ответом, но принятый ответ не устранил проблему до тех пор, пока я не изменил исполняемый файл SSH.

38
Cameron Stone

У меня была та же проблема с IDEA 13 и 14. По умолчанию IDEA попытается создать файл/access .ssh/known_hosts в каталоге% HOME%.

Однако% HOME% не был определен в моей системе (Windows 7 Enterprise x64). IDEA не будет хранить ключ; скорее, он будет просить об этом для каждой операции.

Когда я определил% HOME% (%HOME% = %HOMEDRIVE% в моем случае), все работало как рекламируется.

Это подтвержденная ошибка в IDEA; он должен искать:

  • %ГЛАВНАЯ%
  • % HOMEDRIVE%
  • % HOMEPATH%
  • %ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ%

Проверьте также этот вопрос .

19
Željko Trogrlić

У меня также есть mSysGit, и я поместил "C:\Program Files (x86)\Git\bin" в PATH.

При использовании IntelliJ вместе с mSysGit и протоколом ssh с закрытыми/открытыми ключами есть как минимум две проблемы:

IntelliJ не знает, как вызвать сообщение «Аутентичность хоста ... не может быть установлена», поэтому да, это помогает запустить команду git один раз вручную, чтобы обновить файл .ssh/known_hosts.

mSysGit, когда он запускается прямо за пределами «Git Bash», не «знает», где находится ваш домашний каталог, и использует в качестве папки .ssh "C:\Program Files\Git\.ssh".

Мне интересно, поможет ли установка переменной среды HOME, указывающей на домашний каталог Windows. В дополнение к путанице, разные инструменты имеют разное представление о том, где находится ваш домашний каталог. 

  • Cygwin считает, что мой домашний каталог находится под C:\Users\myself\AppData\Roaming.
  • Java-приложения считают, что мой домашний каталог находится под C:\Users\myself
  • мой сетевой домашний диск - H:\в корпоративной сети, и некоторые инструменты считают, что мой настоящий дом - H:\
2
antoine

Вы пробовали командную строку ssh на сервер, а затем приняли ключ хоста? Это должно хранить его, так как он не будет проходить через некоторые искажения Java/JNI/Windows.

1
Art Taylor

Я не уверен на 100%, с чем связана ваша проблема, но у jetbrains есть страница в их документации по настройке ключей ssh ​​для git: using-git -gration.html

Я запускаю идею на Mac и у меня есть ssh-ключи в стандартном unix ~/.ssh, и у меня никогда не возникает вопросов о хранилищах ключей . В Windows вы, вероятно, должны поместить свои ssh-ключи в C:\Documents and settings\username.ssh

Также обратите внимание на вкладку управления версиями в идеале для более конкретных сообщений при устранении неполадок vcs.

0
Tommy