1. Request SSH access from Bluehost
You’ll need SSH Access, so make sure you request that through the “SSH/Shell Access” option on your CPanel.
2. Download and install Putty (SSH client)
You’ll also need a SSH client, so download the latest version of PuTTY.
3. Install Subversion in the server.
Access SSH terminal and execute the following commands:
(Update the version as needed)
# mkdir ~/src && cd ~/src # wget http://subversion.tigris.org/downloads/subversion-deps-1.6.16.tar.gz # wget http://subversion.tigris.org/downloads/subversion-1.6.16.tar.gz # tar -xzvf subversion-deps-1.6.16.tar.gz # tar -xzvf subversion-1.6.16.tar.gz # cd subversion-1.6.16# ./configure --prefix=$HOME --without-berkeley-db --witth-ssl LDFLAGS="-L/lib64" # make && make install
4. Create your repository and verify it
# cd ~ && svnadmin create [your_repository] # svn list svn+ssh://[user]@[hostname]/home/[user]/[your_repository]
5. Create an authentication Key Par
Type the following commands (You can leave the passphrase empty if you wish)
# ssh-keygen rsa -t
Copy the key to the authorized_key files
# cp .ssh/id_rsa.pub .ssh/authorized_keys
Edit authorization_keys and add the following command in front of your key
The authorization_key file should look like
command="/home/USERNAME/system/bin/svnserve -t" ssh-rsa AABBcddeEEDDD...[COMPLETE KEY REMOVED]
* Alternative commands
# ssh-keygen -f ~/.ssh/id_rsa_svn -N '' -q # echo 'command="~/bin/svnserve -t" ' | cat - ~/.ssh/id_rsa_svn.pub >> ~/.ssh/authorized_keys
6. Importing private key to local computer with PuTTyGen
By using a ftp client or cPanel File Manager, copy the private key “id_rsa” to a folder of your choice. Open PuttyGen then select the Conversions menu and select Import Key. Find the id_rsa file you just downloaded and import it. After it is imported select the “Save Private Key”button and export the .PPK file to your choosing.
7. Saving a Putty session
Open Putty, fill in “Host Name” with the whole domain, go to SSH and then to AUTH and then select the private key you exported above. You can also insert your default user (auto-login) in the option Connection – Data. Go back to the sessions option, name your “Saved Session” as “Subversion” and push the Save button. Test your Putty session clicking on Open. If everything is right, you should be logged in without typing your password.
8. Install and configure Tortoise
After installing Tortoise, edit your subversion config file located at
C:\Documents and Settings\YOUR_LOCAL_USERNAME\Application Data\Subversion\config
Vista or Win7:
Find the section [tunnels] and add the following:
ssh = c:\\Program\ Files\\TortoiseSVN\\bin\\TortoisePlink.exe
*Optional: You can also change the subversion config from inside BlueHost.
Edit your subversion config file located at
Again, inside the section [tunnels] add the following:
ssh = ssh -i ~/.ssh/id_rsa_svn user@hostname ~/bin/svnserve -t #
ssh = ssh -q -i ~/.ssh/id_rsa_svn user@hostname ~/bin/svnserve -t #
9. Configure and run Pageant
Open Pageant, you should see an icon in taskbar. Right-click the icon, select “Add Key.” and add your private key file previously imported and generated (.ppk). If you Open up PuTTY again and reconnect using your “Subversion” session. You’ll be asked for your username, but you should no longer have to enter a passphrase.
10. Connect to the repository using Tortoise
Open up Pageant and add your private key again. Right-click in some folder, select “TortoiseSVN > RepoBrowser”. A dialog box will come up. Type in “svn+ssh://[user]@[domain]/home/[user]/[your_repository] and execute the operation.
That’s it, your repository should be accessible through SSH