Setup mvn to work with your apache account
Generate an authorised dsa/rsa key
Logon to minotaur.apache.org using your apache id and run:
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 scp the private key to you local machine.
OR
Use ssh-keygen to create a SSH key locally using shell or cygwin:
$ ssh-keygen -t rsa -b 4096
The keys will be saved in /.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.
$ scp ~/.ssh/id_dsa.pub <your userid>@people.apache.org:.
Login to people.apache.org
$ 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.
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
Move or append /id_dsa.pub to /.ssh/authorized_keys and change its file mode to 600.
$ mv ~/id_dsa.pub ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
Update Maven settings
At 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 apache id, the location of the ssh key you just scp'd and the pass phrase you used when creating that key, eg:
<servers>
<server>
<id>apache.incubator</id>
<username>antelder</username>
<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>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>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>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.
|