1

以下の手順に従いました。

  1. git bash を使用して、Windows マシンでユーザー ID ABC の SSH キーを作成しました。

  2. ユーザー ID root を使用して公開鍵を Linux サーバーにコピーしました:

    scp ~/.ssh/id_rsa.pub root@Linuxserver:~/.ssh/.

    パスワードを要求し、ファイルをコピーしました。

  3. git bash を使用した SSH root@Linuxserver -> Linux サーバーのパスワードの入力 -> Linux サーバーへのログイン。

  4. 公開鍵を Linux サーバーの .ssh のauthorized_keys にコピー:

    cat id_rsa.pub >> authorized_keys

  5. git bash を使用した SSH root@Linuxserver -> パスワードを要求せずにログイン

  6. Maven を介した SCP はシームレスに機能せず、常にパスワードを要求します。Linux root のパスワードでさえ機能せず、何度も何度もパスワードを要求し続けます。

Maven設定のファイルの下:

<server>
    <id>Linuxserver</id>
    <username>ABC</username>
    <privateKey>${user.home}/.ssh/id_rsa</privateKey>
    <filePermissions>664</filePermissions>
    <directoryPermissions>775</directoryPermissions>
    <configuration></configuration>
</server>

以下は、pom.xml からの抜粋です。

<extensions>
      <extension>
       <groupId>org.apache.maven.wagon</groupId>
       <artifactId>wagon-ssh</artifactId>
       <version>1.0-beta-6</version>
     </extension>
</extensions>

...

<plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>wagon-maven-plugin</artifactId>
      <version>1.0-beta-3</version>
      <configuration>
         <serverId>Linuxserver</serverId>
         <fromFile>${project.parent.basedir}/projectname/filename</fromFile>
         <url>scp://Linuxserver.com/testdirectory</url>
       </configuration>
       <executions>
         <execution>
           <id>upload-file-to-server</id>
           <phase>verify</phase>
           <goals>
             <goal>upload-single</goal>
           </goals>
         </execution>
       </executions>
</plugin>

ユーザーの操作なしで SCP が発生することを望んでいます。一言で言えば、Maven SCP が秘密鍵を取得しないことが問題のようです。

4

1 に答える 1

0

例を見てみましょう:

localuser $ ssh remoteuser@server.com

現在、SCP または SSH を使用して 2 つのことをチェックしています (公開鍵認証を考慮):

  1. ssh コマンドを発行する使用者の秘密鍵 (通常は ~/.ssh/id_rsa)。この例では、/home/localuser/.ssh/id_rsa になります。

  2. ログインしているユーザーの ~/.ssh/authorized_keys ファイル内のユーザーの公開鍵。たとえば、リモートサーバーでは、/home/remoteuser/.ssh/authorized_keys になります。

Maven の設定についてはよくわかりませんが、ABC ユーザーとしてログインしようとしているようです。この場合、ABC ユーザーは、authorized_keys ファイルに localuser のキーを持っている必要があります。

于 2013-02-20T15:29:25.393 に答える