Maven 2 Maven货车插件可以为scp使用私钥吗?
Maven货车插件是否可以配置为对ssh/scp使用私钥?我尝试过的每件事都让maven在到达scp ing点时向我询问密码。我在这里找到了必要的信息:Maven 2 Maven货车插件可以为scp使用私钥吗?,maven-2,ssh,ssh-keys,Maven 2,Ssh,Ssh Keys,Maven货车插件是否可以配置为对ssh/scp使用私钥?我尝试过的每件事都让maven在到达scp ing点时向我询问密码。我在这里找到了必要的信息: 您应该能够在settings.xml中的元素中指定私钥的路径: 用于下载和下载的存储库 部署由 存储库和 分销管理要素 POM。但是,某些设置 例如用户名和密码应该 不应随文件一起分发 xml。这类信息 应存在于中的生成服务器上 settings.xml <settings xmlns="http://maven.apache.org/S
您应该能够在settings.xml中的元素中指定私钥的路径: 用于下载和下载的存储库 部署由
存储库
和
分销管理
要素
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>
我知道这是一个旧的线程,但它看起来像货车插件正在读取settings.xml(例如用户名),但没有使用所有的设置。我无法让它在scp期间停止请求Kerberos用户名/密码。(看起来2016年末可能对插件进行了一些更改,影响了这一点。) 只需添加此答案,以防对其他人有所帮助 对我来说,解决方案更简单:完全跳过使用“settings.xml” 只需为协议指定'scpexe'而不是'scp'(如pom.xml的distributionManagement部分)。然后使用机器的默认SSH配置(unix设置在~/.SSH下)
org.codehaus.mojo
货车司机插件
1
上传到服务器
部署
上传单个
要上载的文件
scpexe://username@要复制到的服务器名/dirname
要上载的文件
今天,我想结合maven站点插件(3.9.1)做同样的事情,同时也遇到了一些障碍(特别是,VangSSH插件坚持要求我提供Kerberos用户名和密码)。
什么东西最终对我起到了作用呢?3.4.3:
<!-- add scp support for mvn site:deploy -->
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>3.4.3</version>
</dependency>
org.apache.maven.wagen
马车ssh
3.4.3
在settings.xml中:
<!-- add scp support for mvn site:deploy -->
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>3.4.3</version>
</dependency>
ssh存储库
普里德德夫
${user.home}/.ssh/pridkdev.ppk
664
775
假的
不
公钥
我想关键是
块,尤其是
设置。救命答案!使用org.apache.maven.wagen:wagen ssh
尝试私钥身份验证,但未成功org.apache.maven.wagen:wagen-ssh-external
工作起来很有魅力。
<!-- add scp support for mvn site:deploy -->
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>3.4.3</version>
</dependency>
<server>
<id>ssh-repository</id>
<username>pridkdev</username>
<privateKey>${user.home}/.ssh/pridkdev.ppk</privateKey>
<filePermissions>664</filePermissions>
<directoryPermissions>775</directoryPermissions>
<configuration>
<interactive>false</interactive>
<strictHostKeyChecking>no</strictHostKeyChecking>
<preferredAuthentications>publickey</preferredAuthentications>
</configuration>
</server>