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

nrh: add scp trickery

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
  • 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

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 uncheck "Don't allocate a pseudo-terminal"
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

Std blurb

EXPANDME

May be able to use content from http://alexandria.wiki.sourceforge.net/Project+Web%2C+Shell%2C+VHOST+and+Database+Services and improve it. This service is used for lots of useful things.