Plugin Maven Wagon có thể được định cấu hình để sử dụng khóa riêng cho ssh/scp không? Tất cả mọi thứ tôi đã thử vẫn để lại maven hỏi tôi mật khẩu khi nó đến điểm scp-ing.Plugin Maven Wagon có thể sử dụng khóa riêng cho scp không?
Trả lời
tôi tìm thấy các thông tin cần thiết ở đây: http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ssh-external.html
Bạn sẽ có thể để xác định đường dẫn đến khóa bí mật trong các yếu tố server trong settings.xml của bạn:
Các kho để tải về và Triển khai được xác định bởi các yếu tố
repositories
vàdistributionManagement
của POM. Tuy nhiên, một số cài đặt nhất định chẳng hạn như tên người dùng và mật khẩu phải không được phân phối cùng với tệp p2.xml . Loại thông tin này phải tồn tại trên máy chủ dựng trong tệp 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: Đây là ID của máy chủ (không của người sử dụng để đăng nhập như là) phù hợp với các yếu tố id của kho/mirror giúp tăng Maven cố gắng kết nối.
- Tên truy nhập, mật khẩu: Những yếu tố này xuất hiện như một cặp biểu thị tên đăng nhập và mật khẩu yêu cầu xác thực đến máy chủ này.
- privateKey, cụm từ mật khẩu: Giống như hai yếu tố trước đó, cặp này xác định một con đường đến một khóa riêng (mặc định là
${user.home}/.ssh/id_dsa)
và cụm từ mật khẩu , nếu có yêu cầu Các yếu tố cụm từ mật khẩu và mật khẩu có thể được. ra ngoài trong tương lai, nhưng đối với bây giờ họ phải được thiết lập plain-text trong file settings.xml.- filePermissions, directoryPermissions: Khi tệp hoặc thư mục kho lưu trữ được tạo khi triển khai, đây là các quyền để sử dụng. Giá trị pháp lý của mỗi số có ba chữ số tương ứng với * nix tệp quyền, nghĩa là. 664, hoặc 775.
Lưu ý: Nếu bạn sử dụng một khóa riêng để đăng nhập vào máy chủ, chắc chắn bạn bỏ qua các yếu tố
<password>
. Nếu không, phím sẽ bị bỏ qua.Password Encryption
Một tính năng mới - mật khẩu máy chủ và mã hóa mật khẩu đã được thêm vào để 2.1.x và 3.0 thân. Xem chi tiết trên this page.
một sự chú ý đặc biệt đến "note": Nếu bạn sử dụng một khóa riêng để đăng nhập vào máy chủ, hãy chắc chắn bạn bỏ qua các yếu tố <password>
. Nếu không, phím sẽ bị bỏ qua. Vì vậy, cấu hình cuối cùng sẽ được gần gũi với:
<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>
Tôi biết đây là một chủ đề cũ, nhưng có vẻ như các plugin Wagon đang đọc settings.xml (ví dụ tên người dùng) nhưng không sử dụng tất cả các thiết lập. Tôi không thể yêu cầu tên người dùng/mật khẩu Kerberos trong quá trình scp. (Có vẻ như đã có những thay đổi đối với plugin cuối năm 2016 ảnh hưởng đến điều này.) Chỉ cần thêm câu trả lời này trong trường hợp nó giúp người khác.
Đối với tôi, giải pháp thậm chí còn đơn giản hơn: hoàn toàn bỏ qua bằng cách sử dụng 'settings.xml' và chỉ cần chỉ định 'scpexe' thay vì 'scp' cho giao thức (như dưới phần distributionManagement của pom.xml). Điều này sau đó sử dụng cấu hình SSH mặc định của máy của bạn (cài đặt unix trong ~/.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. Maven 3: triển khai một artifact sử dụng SCP
- 2. Có thể sử dụng maven-release-plugin với bản sửa đổi cụ thể không?
- 3. Tôi sử dụng plugin maven nào cho AspectJ?
- 4. Cách khóa phiên bản plugin maven
- 5. Mocha Plugin cho Maven
- 6. Tôi có thể sửa đổi giai đoạn triển khai Maven để thay thế plugin maven-deploy-plugin bằng plugin của riêng tôi không?
- 7. Plugin Maven không thể tải lớp
- 8. cách sử dụng plugin maven executecer
- 9. Sử dụng maven-release-plugin trong Eclipse
- 10. Làm thế nào để sử dụng plugin-maven-plugin
- 11. từ khóa riêng tư không có từ khóa riêng tư
- 12. Có plugin HTML Junit khá hợp lý cho Maven không?
- 13. plugin yuicompressor maven và maven-war-plugin
- 14. Có thể mã hóa bằng khóa riêng sử dụng. RSACryptoServiceProvider không?
- 15. Plugin Grails Release không triển khai plugin trên kho lưu trữ maven từ xa
- 16. Bạn có thể xác định cả mục tiêu exec và java cho plugin maven exec không?
- 17. Không thể sử dụng trình lược tả VisualVM với plugin Maven Jetty
- 18. Tôi có thể đặt phiên bản dự án bằng plugin xây dựng-maven-plugin không?
- 19. Có thể mã hóa với nhiều khóa riêng (PHP) không?
- 20. Plugin Maven chắc chắn có chạy thử nghiệm sử dụng nhiều luồng không?
- 21. Cảnh báo thừa khi sử dụng maven-shade-plugin
- 22. Cài đặt Plugin Apache Maven cho Eclipse
- 23. Maven: Sử dụng Plugin Dựa trên Hồ sơ
- 24. HowTo sử dụng https/ssl với Maven/Mortbay Jetty Plugin?
- 25. Cách sử dụng của Maven tycho-p2-plugin với SWT
- 26. Chúng tôi có thể có nhiều khóa công khai với một khóa riêng duy nhất cho RSA không?
- 27. Maven không sử dụng Java 7
- 28. Maven tomcat7-maven-plugin không tìm thấy lỗi
- 29. SCP cho C#
- 30. ArrayBlockingQueue sử dụng một khóa duy nhất cho chèn và loại bỏ nhưng LinkedBlockingQueue sử dụng 2 ổ khóa riêng