如何在Maven的settings配置文件中对服务器密码进行加密?
创始人
2025-01-18 03:33:24
0

前情提要

在上篇文章中,我们详细的介绍了Maven配置文件settings.xml各个标签的含义以及配置方法(乾坤挪移大法——转移!),在讲解servers标签时,需要配置服务器的用户名和密码,有的同学就不想让自己的密码以明文形式暴露在settings文件中,怎么办呢?其实我们可以将加密后的密码写到settings配置文件中。

        my-server     my-username     {加密后的密码}     

这时候就会有同学提问了:加密之后服务器岂不是还要解密?而且这有啥用?密码不就是换了个皮囊??
哎呦还真不是这样的,听我慢慢道来。

双密码策略

在Maven中采用了双密码策略,有一个主密码以及一个服务器密码,这两个密码都是进行加密的,Maven会使用主密码去解密服务器密码,然后才能下载依赖包。主密码可以存储到其他文件中,当然也可以存储到U盘等移动介质中,这样只有得到U盘等移动介质的人才能访问私服。

第一步:生成主密码

  1. 在以管理员身份启动的cmd等终端中执行命令:mvn --encrypt-master-password ,其中是你的主密码,从Maven 3.2.1开始,不应使用参数,这样会使密码明文暴露在历史命令中,可以直接使用mvn --encrypt-master-password命令,然后敲下回车,会提示你输入主密码,加密完成后会返回加密后的密码,类似这样:{jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+9EF1iFQyJQ=}
  2. 这个密码应该存储在${user.home}/.m2/settings-security.xml中,或者是其他目录,存储形式如下,注意密码要加大括号,以便于Maven识别这是一个加密密码:
       {jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+9EF1iFQyJQ=}  

也可以使用下面的形式在${user.home}/.m2/settings-security.xml文件中指定主密码文件的位置:

   /Volumes/mySecureUsb/secure/settings-security.xml  

其中:/Volumes/mySecureUsb/secure/settings-security.xml是存有主密码的文件settings-security.xml的位置,这样就可以将存有主密码的文件settings-security.xml放到移动介质中,而settings文件完全可以分发给其他人,只有得到了移动介质的人才可以解密服务器密码从而访问私服。

第二步:加密服务器密码

  1. 使用以管理员身份启动的终端执行命令:mvn --encrypt-password ,同样的,可以直接使用mvn --encrypt-password命令,然后敲下回车,会提示你输入服务器密码,加密完成后会返回加密后的密码,类似这样:{COQLCE6DU6GtcS5P=}
  2. 将加密后的密码写入到settings配置文件中,注意密码要加大括号,以便于Maven识别这是一个加密密码:
 ...    ...            my.server       foo       {COQLCE6DU6GtcS5P=}      ...    ...  

小知识

如果加密后的密码存在{或者},如:jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+{EF1iFQyJQ=,这时候就需要对{}进行转义,转义后存入settings文件时是这样子的:{jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+\{EF1iFQyJQ=}
servers标签下也可以使用privateKeypassphrase标签指定私钥进行验证:

        my-ssh-server     your_username     /path/to/your/private_key     {mvn-encrypted}YourEncryptedPassphrase     
  • 元素指定了服务器的唯一标识符。
  • 元素指定了连接到服务器时使用的用户名。
  • 元素指定了私钥文件的路径。这可以是绝对路径或相对于用户主目录的路径。
  • 元素(可选)指定了加密的私钥密码,如果你的私钥有密码保护的话。

相关内容

热门资讯

分析开挂!新道游智能辅助器,约... >>您好:约局吧开挂确实是有挂的,很多玩家在这款约局吧开挂游戏中打牌都会发现很多用户的牌特别好,总是...
太实锤了!随意玩正版房卡有开挂... 太实锤了!随意玩正版房卡有开挂,aapoker脚本(透视)开挂辅助脚本(有挂讲解)您好:随意玩正版房...
太坑了!福麻圈脚本,pokem... 太坑了!福麻圈脚本,pokemomo辅助工具(透视)开挂辅助软件(真是有挂);无需打开直接搜索加薇1...
必看开挂!九游辅助辅助在哪里,... 四川途游辅助软件下载是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加...
教会辅助!新荣耀辅助安装,aa... 您好:这款aapoker透视脚本游戏是可以开挂的,确实是有挂的,很多玩家在这款aapoker透视脚本...
太坑了!捉住捣蛋鸡辅助,hhp... 太坑了!捉住捣蛋鸡辅助,hhpkoer辅助挂是真的吗(透视)开挂辅助脚本(有挂教程);亲,捉住捣蛋鸡...
分享辅助!九天大厅挂价格,朋朋... 您好:这款朋朋政和软件有辅助器的吗游戏是可以开挂的,确实是有挂的,很多玩家在这款朋朋政和软件有辅助器...
太嚣张了!越乡游辅助器,wep... 太嚣张了!越乡游辅助器,wepoker安装教程(透视)开挂辅助下载(有挂教学)1、下载安装好越乡游辅...
教会开挂!新西楚辅助器,瑞安玉... 教会开挂!新西楚辅助器,瑞安玉海楼茶苑辅助器(我来教教大家开挂辅助软件)《详细加薇136704302...
太嚣张了!新518互游插件下载... 太嚣张了!新518互游插件下载,德普之星透视辅助(透视)开挂辅助平台(有挂功能)您好:新518互游插...