HOWTO: Grid Stop multiple SVN password prompts


Browse by products and services

  • Applies to: Grid
    • Difficulty: Medium
    • Time Needed: 20
    • Tools Required: SSH, vi knowledge

Overview

On the Grid, we exclusively use the svn+ssh:// scheme, and not http://. For this reason, it is normal to experience multiple password prompts for every outbound connection.

The solution is to use a separate SSH password-caching tool like ssh-agent on a Unix system. For more details, please see below. The steps outlined below would work on any UNIX system, such as OS X or Ubuntu.

Requirements

Before beginning this article, you should complete the following articles first:

After following the articles above, we can proceed.

Caution

This article is provided as a courtesy. Installing, configuring, and troubleshooting third-party applications is outside the scope of support provided by (mt) Media Temple. Please take a moment to review the Statement of Support.

Instructions

    1. Create a file called .profile in your home directory using vi or your favorite Unix text editor. It is possible that you already have this file. If so we will simply add to it:
vi ~/.profile
    1. Place the following code inside and save your file. This piece of code will see if you’ve already started ssh-agent. If you haven't already started the process it will start ssh-agent, and store the settings to be usable the next time you start up a shell:
SSH_ENV=$HOME/.ssh/environment

 function start_agent {
      echo "Initialising new SSH agent..."
      /usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
      echo succeeded
      chmod 600 ${SSH_ENV}
      . ${SSH_ENV} > /dev/null
      /usr/bin/ssh-add;
 }

 # Source SSH settings, if applicable

 if [ -f "${SSH_ENV}" ]; then
      . ${SSH_ENV} > /dev/null
      #ps ${SSH_AGENT_PID} doesn’t work under cywgin
      ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
          start_agent;
      }
 else
      start_agent;
 fi
    1. After saving the file close your terminal and open a new one. You should see something similar to:
Initialising new SSH agent...
succeeded
Identity added: /Users/username/.ssh/id_rsa (/Users/username/.ssh/id_rsa)

Now you should be able to run all your svn commands without any more of those password prompts!