1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in
Version 21 (modified by jwigglesworth, 5 years ago)

--

Interactive Shell Service

Project developers can access an Interactive Shell if they have been granted shell access for the project. The Interactive Shell provides a command line interface that can be used to manage the following:

  • Project web content
  • Developer web content
  • Project uploads
  • CVS repositories

Features

The Interactive Shell supports the following features:

  • SSH shell access to project content; access to data for other users and projects not provided
  • Comprehensive set to command line tools
  • 4 hour shell life - shells are automatically terminated after 4 hours.
  • Password or SSH keys authentication
  • CVS repository administration

The Interactive Shell does not support the following features:

Management

Project members must be granted shell access by a project administrator. Project administrators can grant shell access to project members from the project site:

  • https://sourceforge.net/projects/PROJECT

via the:

  • Admin > Members interface

Access

Interactive Shell sessions persist for 4 hours once created. Authorized developers that have been granted shell access for a project can create/connect to an Interactive Shell with:

ssh -t USER,PROJECT@shell.sourceforge.net create

NOTE: Be sure to substitute your SourceForge.net login username for USER, and the respective SourceForge.net project UNIX name for PROJECT.

If you do not have an active Interactive Shell session a help page can be viewed with:

ssh USER@shell.sourceforge.net

Putty client

For those using the Putty SSH client, set the following settings for the Putty session:

Session Host Name: "shell.sourceforge.net"
Session Connection Type: "SSH"
Connection > SSH > TTY Confirm that "Don't allocate a pseudo-terminal" is not checked
Connection > SSH Remote command: "create"
Connection > Data Auto-login username: "USER,PROJECT"
  • Open the session and provide your password at the prompt.

SSH Key Authentication

If a user has set up SSH keys, they can be used to authenticate to an Interactive Shell session. Please see the following for more information on setting up SSH keys:

Use the '-i' option to pass your private key file to the ssh command:

ssh -i PATH-TO-PRIV-KEY -t USER,PROJECT@shell.sourceforge.net create

Shell commands

Interactive Shell provides a small set of Interactive Shell specific command line tools. These include:

  • sf-help - Prints an Interactive Shell help page.
  • timeleft - Show the time left (of the 4 hour window) before the current shell expires.
  • adminrepo - For managing CVS repositories; see adminrepo --help for more information
  • shutdown - Initiate the immediate termination of a an Interactive Shell session.

Accessing your shell with other tools

You can access your shell using additional tools such as scp. To do so, create an Interactive Shell as described above. Once logged in, run the sf-help command which will give you the port number and externally available hostname of your shell instance. In the following examples replace USER with your SourceForge.net username, PORT with the port number you obtained from sf-help, and HOST with the hostname you obtained from sf-help.

Important Safety Tip

Please be mindful of the symbolic links deployed in various SourceForge.net systems. Before attempting the following commands to write any data it would be wise to Backup your data first.

scp

Copy a file to your Interactive Shell homedir with scp

scp -P PORT some-file.txt USER@HOST:~

sftp

Connect with SFTP

sftp -o Port=PORT USER@HOST

rsync

Download your userweb directory with rsync

# Note that the -L option to rsync is ''very'' important in this instance
rsync -e "ssh -p PORT" -avzL USER@HOST:~/userweb .

Getting Help