Maven Wagon插件可以使用私钥scp吗?

Ben*_*son 9 ssh maven-2 ssh-keys

可以将Maven Wagon插件配置为使用ssh/scp的私钥吗?我尝试过的所有东西仍然留给maven,当它达到scp-ing时,我会问我一个密码.

Pas*_*ent 16

您应该能够在settings.xml 中的server元素中指定私钥的路径:

用于下载和部署的存储库由 POM的元素repositoriesdistributionManagement元素定义 .但是,某些设置(如用​​户名和密码)不应与pom.xml一起分发.此类信息应存在于settings.xml中的构建服务器上.

<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>
      <password>my_password</password>
      <privateKey>${user.home}/.ssh/id_dsa</privateKey>
      <passphrase>some_passphrase</passphrase>
      <filePermissions>664</filePermissions>
      <directoryPermissions>775</directoryPermissions>
      <configuration></configuration>
    </server>
  </servers>
  ...
</settings>
Run Code Online (Sandbox Code Playgroud)
  • id:这是与Maven尝试连接的存储库/镜像的id元素匹配的服务器的ID(不是要登录的用户的ID).
  • 用户名,密码:这些元素显示为一对,表示对此服务器进行身份验证所需的登录名和密码.
  • privateKey, passphrase:与前两个元素一样,该对指定私钥的路径(默认为 ${user.home}/.ssh/id_dsa)密码,如果需要的话.密码和密码元素可能在将来被外部化,但是现在它们必须设置为plain- settings.xml文件中的文本.
  • filePermissions,directoryPermissions:在部署时创建存储库文件或目录时,这些是要使用的权限.每个的合法值是对应于*nix文件权限的三位数字,即.664或775.

注意:如果使用私钥登录服务器,请确保省略该<password>元素.否则,密钥将被忽略.

密码加密

一个新功能 - 服务器密码和密码加密已添加到2.1.x和3.0中继.查看此页面的详细信息.

特别注意"注意":如果使用私钥登录服务器,请确保省略该<password>元素.否则,密钥将被忽略.所以最终配置将接近:

<settings>
  ...
  <servers>
    <server>
      <id>ssh-repository</id>
      <username>your username in the remote system</username>
      <privateKey>/path/to/your/private/key</privateKey>
      <passphrase>sUp3rStr0ngP4s5wOrD</passphrase><!-- if required --> 
      <configuration>
        ...
      </configuration>
    </server>
  </servers>
  ...
</settings>
Run Code Online (Sandbox Code Playgroud)