Как установить файлы через maven-wagon-ssh/scp на экземпляр ec2?

Я пытаюсь скопировать некоторые файлы кукол с помощью scp на экземпляр ec2 Ubuntu, используя плагин maven-wagon-plugin. Я добавил путь к моему файлу закрытого ключа в файл settings.xml и определил использование плагина в моем файле pom.xml (см. Ниже).

Я могу подключиться к машине с замазкой. Кроме того, wagon, кажется, может установить соединение, потому что он говорит мне:

   The authenticity of host 'ec2-....compute-1.amazonaws.com' can't be established. 
   RSA key fingerprint is 79:..:c7.
   Are you sure you want to continue connecting? (yes/no): yes

Тем не менее, плагин говорит мне, что мой аутентификатор неверен:

    [ERROR] Failed to execute goal org.codehaus.mojo:wagon-maven-plugin:1.0-beta-   
    4:upload (upload-puppet-module) on project ...: 
    Unable to create a Wagon instance for scp://ec2-...compute-1.amazonaws.com/: 
    Cannot connect. Reason: Auth fail -> [Help 1] 

Мой файл settings.xml выглядит так:

    ...
    <server>
        <id>ec2-node</id>                       
        <username>ubuntu</username>         
        <privateKey>.../path/to/privatekey.ppk</privateKey>         
    </server>        
    ...

Мой pom.xml выглядит так:

<build>
    <extensions>
        <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh</artifactId>
            <version>2.4</version>
        </extension>
    </extensions>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>wagon-maven-plugin</artifactId>
            <version>1.0-beta-4</version>
            <executions>
                <execution>
                    <id>upload-puppet-module</id>
                    <phase>pre-integration-test</phase>
                    <goals>
                        <goal>upload</goal>
                    </goals>
                    <configuration>
                        <id>ec2-node</id>
                        <fromDir>${basedir}/src/main/resources/puppet-module</fromDir>
                        <includes>*</includes>
                        <url>scp://ec2-...compute-1.amazonaws.com/</url>
                        <toDir>/etc/puppet/modules/</toDir>
                        <filePermissions>664</filePermissions>
                        <directoryPermissions>775</directoryPermissions>            
                    </configuration>
                </execution>
            </executions>

Любые предложения, что я могу сделать, чтобы это работало?

Заранее спасибо!

1 ответ

Решение

У меня была ошибка в файле pom.xml. Переписав соответствующий блок, все заработало:)

До:

<plugins>
    <plugin>
     ...
     <configuration>
        <id>ec2-node</id> <-- Wrong
     ...

После:

<plugins>
    <plugin>
     ...
     <configuration>
        <serverId>ec2-node</serverId> <-- Right
     ...

Адресная информация аутентификации, определенная в файле settings.xml, сработала мгновенно.

Другие вопросы по тегам