10

SSHを使用してJavaアーティファクトをサーバーにデプロイしています。パスワードを必要とせずにサーバーにインタラクティブにSSHで接続できるようにキーを設定しましたが、「mvn deploy」または「mvn release:perform」コマンドを実行しようとすると、ハングします(パスワードプロンプトであると想定しています)。

私の~/.m2/settings.xmlファイルにはサーバーのユーザー名が含まれており(ローカルユーザー名とは異なるため)id、別のユーザーを必要とするサーバーのユーザー名を参照しています。

4

2 に答える 2

10

必要なものがすべて揃っていますsettings.xmlか? あなたのprivateKey(そしてpassphrase必要に応じて)宣言しましたか?このようなもの:

<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>
于 2010-05-09T01:52:05.713 に答える
5

distributionManagement セクションで、URL に「scp://」の代わりに「scpexe://」を使用してみてください。

これは、Maven に組み込まれている scp の Java 実装を使用する代わりに、標準の scp プログラム (パス上にあると仮定) を呼び出します。標準の scp は、公開鍵認証に ssh-agent (Ubuntu では、GDM 経由でログインすると自動的に開始されます) を使用します。

于 2010-06-30T23:36:21.270 に答える