|Version 19 (modified by moorman, 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
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:
Project members must be granted shell access by a project administrator. Project administrators can grant shell access to project members from the project site:
- Admin > Members interface
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:
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
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.
Copy a file to your Interactive Shell homedir with scp
scp -P PORT some-file.txt USER@HOST:~
Connect with SFTP
sftp -o Port=PORT USER@HOST
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 .