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:
The Interactive Shell supports the following features:
The Interactive Shell does not support the following features:
Project members must be granted shell access by a project administrator. This is tied to the Release Technician permission, which is set through Admin -> Tools and then under Files, select Release Technicians
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:
File access paths will match what is available via our File Management service
For those using the PuTTY SSH client, set the following settings for the PuTTY session:
Note: In Windows Vista or Windows 7, it may be necessary to run PuTTY in Windows XP compatibility mode.
|Connection > SSH||Remote command||create|
|Connection > Data||Auto-login username||USER,PROJECT|
Note: If you get disconnected after shell creation, in Connection > SSH > TTY uncheck the box for "Don't allocate a pseudo-terminal"
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:
You can access most of your files at any time, regardless of whether you have an Interactive Shell created or not, by using the web.sourceforge.net hostname. This includes your project and developer web files, your home files, and your download files. It does not include any git/svn/mercurial SCM files that are only mounted when you create an Interactive Shell.
One advantage of accessing your project's web files via USER,PROJECT@web.sourceforge.net is that the default transfer directory for relative pathnames is your project's web directory. For instance, this will update the index.html file for the "myproject" project as long as user "joe" has the permissions to do so:
rsync -aiv index.html joe,firstname.lastname@example.org:htdocs/ # or scp index.html joe,email@example.com:htdocs/ # or sftp joe,firstname.lastname@example.org sftp> cd htdocs sftp> put index.html
For all other transfers the default transfer directory for relative pathnames is your user's HOME directory.
For files not accessible via web.sourceforge.net, you can use scp or rsync using your normal shell.sourceforge.net access. Only SFTP access requires an alternate means of accessing your shell's files, should you want to use that.
To use sftp to access your files, either use the web.sourceforge.net method, or run the sf-help command in your Interactive Shell and it will tell you an alternate access method that requires the use of a port number and an alternate hostname. In the following example replace USER with your SourceForge.net username, and PORT and HOST with the port number and hostname you obtained from sf-help:
sftp -o Port=PORT USER@HOST
A couple of examples:
sftp -o Port=22002 email@example.com sftp -o Port=24007 joe,firstname.lastname@example.org
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.