Знаток не будет использовать открытый ключ для развертывания

Я использую SSH для развертывания моих артефактов Java на сервере. Мне настраивали ключи так, чтобы я мог в интерактивном режиме SSH к серверу, не требуя пароля, но когда я пытаюсь работать"mvn deploy"или"mvn release:perform"команды, это зависает (в том, что я принимаю, подсказка пароля).

Мой ~/.m2/settings.xml файл содержит имя пользователя для сервера (потому что это отличается, чем мое локальное имя пользователя), и ссылается id из сервера, который требует другого пользователя.

10
задан Pascal Thivent 9 May 2010 в 01:52
поделиться

2 ответа

Вы уверены, что ваш settings.xml предоставляет все необходимое? Вы указали свой privateKey (и при необходимости кодовую фразу )? Примерно так:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
  ...
  <servers>
    <server>
      <id>server001</id>
      <username>my_login</username>
      <privateKey>${user.home}/.ssh/id_dsa</privateKey>
      <passphrase>some_passphrase</passphrase> <!-- if required -->
      <filePermissions>664</filePermissions>
      <directoryPermissions>775</directoryPermissions>
      <configuration></configuration>
    </server>
  </servers>
  ...
</settings>
10
ответ дан 3 December 2019 в 22:35
поделиться

В разделе distributionManagement попробуйте использовать "scpexe: //" в URL-адресе вместо "scp: //".

Это вызывает стандартную программу scp (при условии, что она находится на вашем пути) вместо использования Java-реализации scp, встроенной в Maven. Стандартный scp использует ssh-agent (который в Ubuntu запускается автоматически при входе в систему через GDM) для аутентификации с открытым ключом.

5
ответ дан 3 December 2019 в 22:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: