Setup mvn to work with your apache accountGenerate an authorised dsa/rsa key:logon Logon to minotaur.apache.org using your apache id and run: Code Block |
---|
$ ssh-keygen -t dsa | )give Give it some file name eg mysshkey and a pass phrase. This should create two files, a private key and a public key (mysshkey , mysshkey.pub ). Copy mysshkey.pub to ~/.ssh/authorised_keys . (you may need to create the .ssh directory), and ftp scp the private key to you local machine. OR Use ssh-keygen to create a SSH key locally using shell or cygwin: Code Block |
---|
$ ssh-keygen -t rsa -b 4096
|
The keys will be saved in /. (i use WINSCP).ssh/id_dsa (private) and /.ssh/id_dsa.pub (public). scp your SSH public key /.ssh/id_dsa.pub created in last step to /id_dsa.pub on people.apache.org .
Code Block |
---|
$ scp ~/.ssh/id_dsa.pub <your userid>@people.apache.org:.
|
Login to people.apache.org Code Block |
---|
$ ssh <your userid>@people.apache.org
|
Create a ~/.ssh folder in your home directory on people.apache.org and change its file mode to 700. Code Block |
---|
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
|
Move or append /id_dsa.pub to /.ssh/authorized_keys and change its file mode to 600. Code Block |
---|
$ mv ~/id_dsa.pub ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
|
Update Maven settingsAt this point you should be able to ssh into people.apache.org without being prompted for a password. In your maven settings.xml file (located in the .m2 folder in your home dir, eg C:\Documents and Settings\ant\.m2 ) add servers for the servers you use and specify you apachi apache id, the location of the sshkay ssh key you just ftpscp'd and the pass phrase you used when creating that key, eg: <servers> <server>
|
<servers>
<server>
<id>apache.incubator</id> |
<username>antelder</username> |
<privateKey>\ant\mysshkey</privateKey> <passphrase>xxx</passphrase> <directoryPermissions>775</directoryPermissions> <filePermissions>664</filePermissions> </server> <server>
<privateKey>file-path-of-private-key</privateKey>
<passphrase>xxx</passphrase>
<directoryPermissions>775</directoryPermissions>
<filePermissions>664</filePermissions>
</server>
<server>
<id>me.people</id> |
<username>antelder</username> |
<privateKey>\ant\mysshkey</privateKey> <passphrase>xxx</passphrase> <directoryPermissions>775</directoryPermissions> <filePermissions>664</filePermissions> </server> <server>
<privateKey>file-path-of-private-key</privateKey>
<passphrase>xxx</passphrase>
<directoryPermissions>775</directoryPermissions>
<filePermissions>664</filePermissions>
</server>
<server>
<id>apache.snapshots</id> |
<username>antelder</username> |
<privateKey>\ant\mysshkey</privateKey> <passphrase>xxx</passphrase> <directoryPermissions>775</directoryPermissions> <filePermissions>664</filePermissions> </server> <server>
<privateKey>file-path-of-private-key</privateKey>
<passphrase>xxx</passphrase>
<directoryPermissions>775</directoryPermissions>
<filePermissions>664</filePermissions>
</server>
<server>
<id>apache.rsync</id> |
<username>antelder</username> |
<privateKey>\ant\mysshkey</privateKey> <passphrase>xxx</passphrase> <directoryPermissions>775</directoryPermissions> <filePermissions>664</filePermissions> </server> </servers>
<privateKey>file-path-of-private-key</privateKey>
<passphrase>xxx</passphrase>
<directoryPermissions>775</directoryPermissions>
<filePermissions>664</filePermissions>
</server>
</servers>
|
Keep the ssh key and pass phrase safe and secure. Its a good idea to only add the key and passphrase to the settings.xml file while you're actually using it and delete form the file at other times. Also you MUST delete the private ssh key from your Apache directory once you've ftp'd it to your local machine. |