maven加密nexus私服密碼


使用的maven 版本 3.2.5

Nexus版本 3.X

1.准備用戶master密鑰文件

  Master Password 是加密server密碼的一個密碼. 

  在${user.home}\.m2 目錄下創建 settings-security.xml文件. 

  比如C:\Users\Vito\.m2\settings-security.xml

2.生成MasterPassword  

$mvn --encrypt-master-password
$Password: (這里輸入你指定的master明文密碼)
${ESsDMOfmQu0HmKAcvsrCGnPQ+hBugnRhp+kFmEh5zj0=}
 (這是根據明文MasterPassword 計算的密碼)

 

3.修改 settings-security.xml 內容  

<?xml version="1.0" encoding="UTF-8"?>
<settingsSecurity>
          <master>{OZ9T+teXD84HK2+/6JSe2DwruLTc9BaimAJLCIoNcNc=}</master>
</settingsSecurity>
<!--master password 明文 asdf , <master>標簽內的是 步驟2. 生成的密碼-->

 

4.生成 私服Repository密碼 

$mvn --encrypt-password
$Password:  (輸入你nexus私服對應Repository的密碼)
${BRb43mpsn5EH1UOF0dYBkoUJccZDkzmO05p7ofNwuBU=}

 

5.修改本地{maven.home}\conf\settings.xml文件 

<settings>
    <servers>
.......
        <server>
            <!--Nexus私服 發布倉庫 的賬戶密碼 -->
            <id>maven-releases</id>
            <username>admin</username>
        <!--這個密碼就是用加密后的masterpassword加密的admin123-->
        <password>{BRb43mpsn5EH1UOF0dYBkoUJccZDkzmO05p7ofNwuBU=}</password>        
        </server>
        <server>
            <!--Nexus私服 自己添加的第三方倉庫的 的賬戶密碼 -->
            <id>maven-3rd</id>
            <username>admin</username>
            <password>admin123</password>
        </server>
.......
    </servers>
</settings>

  到此 就可以安全地 鏈接nexus對應的Repository 進行download 構件或者deploy構件了.

 

Tips:

  本方式的加密是完全基於本地的maven,算出密碼並且配置兩個本地配置文件的方式, 安全性其實並不完美.

  針對於Nexus Repository OSS 版本的Nexus也只能如此 . (也就是免費版的私服)

  如果有公司使用的是收費版Nexus Repository Pro版本,可以用更安全的方式, 本地settings.xml直接寫nexus提供的密文.

  詳見:Nexus官方文檔 http://books.sonatype.com/nexus-book/reference3/security.html#user-token

  取部分截圖貼上.

  


 2017-04-12 12:18:44 添加


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM