android - 使用 apache maven wagon ssh 上传到私有(private) maven repo |未知主机

标签 android maven ssh android-gradle-plugin build.gradle

我正在尝试将我的库上传到我们公司内的私有(private) Maven 存储库。 我可以从我的 mac/linux 终端通过 ssh 访问服务器/repo,但我无法配置 wagen-ssh (2.2) 以将其上传到 repo。

我按照此处所述编写了 gradle 任务: https://docs.gradle.org/current/userguide/maven_plugin.html

configurations {
    deployerJars
}
dependencies {
    ...
    deployerJars  'org.apache.maven.wagon:wagon-ssh:2.2+'
}

uploadArchives {
    repositories {
        mavenDeployer {
            configuration = configurations.deployerJars
            repository(url: "scp://{server}/var/www/maven") {
                authentication(userName: "myUsername", password: "myPassword")
            }
            pom.version = '0.1.0'
            pom.groupId = 'com.mycompany'
            pom.artifactId = 'mylib'

        }
    }
}

但每次我尝试执行 gradle 任务时,我都会收到错误消息: 无法部署 Artifact :无法将 Artifact com.mycompany:mylib:aar:0.1.0 从/传输到远程 (scp://{server}/var/www/maven):主机未知且未被接受配置:{server}

我认为 wagon 使用的是自己的内部 ssh 客户端。我怎样才能告诉这个客户接受我的主机,或者接受任何主机?! 还是我错了,还有其他问题?

最佳答案

好的,我自己找到了解决方案: 我服务器的 known_hosts 文件中的条目是

ecdsa-sha2-nistp256

但是wagon的ssh客户端只能理解rsa。 所以

ssh -o HostKeyAlgorithms=ssh-rsa-cert-v01@openssh.com,ssh-rsa {您的主机}

施展魔法。

关于android - 使用 apache maven wagon ssh 上传到私有(private) maven repo |未知主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40040870/

相关文章:

android - 如何将多个 MVP 矩阵发送到 OpenGL ES 2.0 中的顶点着色器

android.net.wifi.STATE_CHANGE : not triggered on Wifi disconnect

java - 项目构建错误: Non-resolvable parent POM for

linux - 在远程计算机上通过 `ssh` 执行命令时未加载环境变量

android - 与蓝牙设备配对与连接到蓝牙设备有什么区别?

java - 无法让 AutoCompleteTextView 与其他组件一起显示

java - 在 Maven 中,模块是否受存储库的 updatePolicy 影响?

java - 部署带有嵌入式 apache Derby 数据库的 Java fat jar

shell - 如何在接收端打开一个没有 SSHD 的 shell?

bash - 为什么我的 ~/.bashrc 是在我连接时获取的,而不是在我只执行命令时获取的?