Czy wtyczka Can Maven Wagon może być skonfigurowana do używania klucza prywatnego dla ssh/scp? Wszystko, co próbowałem, nadal pozostawia maven, aby poprosić mnie o hasło, gdy dojdzie do punktu scping.Czy wtyczka Can Maven Wagon używa prywatnego klucza do scp?
Odpowiedz
Znalazłem niezbędnych informacji: http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ssh-external.html
powinny być w stanie określić ścieżkę do klucza prywatnego w elemencie server w swojej settings.xml:
repozytoriów do pobrania i Rozmieszczenie definiowane jest przez elementy
repositories
idistributionManagement
z POM. Jednak niektóre ustawienia , takie jak nazwa użytkownika i hasło, powinny być , nie mogą być rozpowszechniane razem z pom.xml . Ten typ informacji powinien być dostępny na serwerze kompilacji pod numerem w pliku 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>
- id: Jest to identyfikator serwera (nie użytkownika, aby zalogować się jako) pasujący element id repozytorium/lustro, które Maven dociera do połączyć.
- nazwa, hasło: Elementy te są wyświetlane w postaci pary oznaczający login i hasło wymagane do uwierzytelnienia tego serwera .
- PrivateKey, hasło: Podobnie jak w poprzednich dwóch elementów, para ta określa ścieżkę do klucza prywatnego (domyślnie
${user.home}/.ssh/id_dsa)
i hasło, jeśli Wymagane hasło i hasło elementy mogą być. externalized w przyszłości, ale na teraz muszą być ustawione zwykłego tekstu w pliku settings.xml.- filePermissions, directoryPermissions: Gdy plik lub katalog repozytorium ma wartość utworzony podczas wdrażania, są to uprawnienia do używania w postaci . Wartości prawne każdej z nich to trzycyfrowy numer odpowiadający uprawnieniom * nix , tj. 664 lub 775.
Uwaga: W przypadku korzystania z klucza prywatnego do logowania do serwera, upewnij się pominąć elementu
<password>
. W przeciwnym razie klucz zostanie zignorowany.Hasło szyfrowania
Nowością - hasło serwera i hasło szyfrowania został dodany do 2.1.x oraz 3,0 pni. Zobacz szczegóły na this page.
Zwróć szczególną uwagę na „Note”: przypadku korzystania z klucza prywatnego, aby zalogować się do serwera, upewnij się, że pomijają element <password>
. W przeciwnym razie klucz zostanie zignorowany. więc ostateczna konfiguracja będzie zbliżona do:
<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>
Wiem, że to stary wątek, ale wygląda na to, że wtyczka Wagon czyta settings.xml (na przykład nazwę użytkownika), ale nie przy wszystkich ustawieniach. Nie mogłem przestać pytać o nazwę/hasło Kerberos podczas SCP. (Wygląda na to, że mogły wystąpić zmiany wtyczki pod koniec 2016 roku, które mają na to wpływ.) Po prostu dodajesz tę odpowiedź, na wypadek gdyby pomogła komuś innemu.
Dla mnie rozwiązanie było jeszcze prostsze: całkowicie pomiń za pomocą "settings.xml" i po prostu podaj "scpexe" zamiast "scp" dla protokołu (np. W sekcji distributionManagement pom.xml). Następnie używa domyślnej konfiguracji SSH twojego komputera (ustawienia unixa pod ~/.ssh).
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>upload-to-server</id>
<phase>deploy</phase>
<goals><goal>upload-single</goal></goals>
<configuration>
<fromFile>file-to-upload</fromfile>
<url>scpexe://[email protected]/dirname-to-copy-to
<toFile>file-to-upload</toFile>
</configuration>
</execution>
</executions>
</plugin>
- 1. wagon-git i Gradle
- 2. Can Maven generuje deklarację modułu
- 3. Wtyczka szablonu Maven?
- 4. iOS: Dodawanie klucza prywatnego do urządzeń KeyChain
- 5. Wtyczka Bamboo SCP: jak znaleźć katalog
- 6. szyfrowania klucza prywatnego z BouncyCastle
- 7. Wtyczka Maven java.library.path
- 8. Wtyczka gradle-release + wtyczka publikowania maven
- 9. Wtyczka Grails Release nie wdraża wtyczki na zdalnym repozytorium maven
- 10. Przesyłanie do gita TFS przy użyciu klucza publicznego/prywatnego
- 11. Dlaczego PuTTY używa własnego formatu klucza prywatnego podczas logowania do serwera SSH?
- 12. Kto używa mojego artefaktu maven?
- 13. Wtyczka Mocha dla Maven
- 14. Wtyczka Tomcat Maven i wielomodułowe projekty Maven
- 15. Maven nie używa lokalnego repo
- 16. Wtyczka Maven do konkatowania i minimalizowania javascript
- 17. Wtyczka Maven Shade do produkcji dwóch słoików
- 18. Eksportowanie certyfikatu X.509 BEZ klucza prywatnego
- 19. NGit nawiązywanie połączenia z plikiem klucza prywatnego
- 20. Używanie zakodowanego, zaszyfrowanego klucza prywatnego PEM do podpisania wiadomości natywnie
- 21. Wtyczka Maven dla Tomcat 9
- 22. Wtyczka Maven uruchamia inną wtyczkę
- 23. Utwórz CSR przy użyciu istniejącego klucza prywatnego
- 24. Wtyczka Maven Site z Java9
- 25. gpgme: wybieranie klucza prywatnego podczas podpisywania danych
- 26. Dodawanie klucza prywatnego do pęku kluczy systemu iOS
- 27. Sprawdzanie, który kompilator Maven używa
- 28. usunięcie hasła z RSA klucza prywatnego
- 29. Dowolne rozwiązanie SaaS do przechowywania prywatnego repozytorium maven
- 30. Jak używać magazynu kluczy w Javie do przechowywania klucza prywatnego?