Recent Changes

2021-07-26
2021-03-17
2021-03-08
2021-03-03
2021-01-22
2021-01-21

Services Provided By Shell Server and How to Use Them

On OSDN, we provide shell server, shell.osdn.net, to allow access via SSH. Shell server provides home directory for each different user, and the user can use the basic shell features and crontab to periodically execute commands, and also the execution environment for different kinds of scripts.

By the way, prior to using the shell server, you will need to register an SSH public key. You can register an SSH public key from the User Settings page. If you want to learn how to register an SSH public key, please read SSH Access Key.

Services Provided by Shell Server

The following features are available on the shell server.

  • Different kinds of shells (such as bash, tcsh, ksh, and zsh)
  • Text Editors, pagers (such as vi, pico, vim, emacs、less and lv)
  • Script language environments (such as Perl, PHP, Ruby, and Python)
  • Text processing and content management tools (such as latex, docbook, and nkf)
  • File transfer tools (such as ftp, scp, and rsync)
  • Tools to access CVS/Subversion repository (such as cvs and svn)
  • File compression/expansion/conversion tools (such as zip, gzip, lha, and tar)
  • Cron to run commands periodically

Shell server is installed with many other tools. The list of installed commands can be browsed on Available Commands on Shell Server. If there are any tools you need, which can not be found on the list, please contact us.

Services That Are Not Available

Below is a list of some of the features that are not supported by the shell server. (The list is not inclusive.) Users who install/execute software that provide such features will have their account terminated without warning.

  • IRC (including bot) service
  • Software compiler
  • Mail reader
  • Network scanner
  • Denial of service software
  • Network intrusion software (specific intrusion software such as “rootkit”)
  • Packet sniffer
  • Web Proxy

In addition, a process that has been running for more than a certain period of time may be automatically killed.

Furthermore, if a user try to avoid system security or access control, start or be involved in network intrusion or DOS attack, that user may face criminal prosecution. OSDN will cooperate with the law enforcement on their investigation against such activities. If you have questions regarding what is permitted and what is not, please ask us.

Accessing Shell Server

The host name for the shell server is “shell.osdn.net”. Use SSH to access the shell server. Both SSH protocol version 1 and 2 are available. The fingerprints for the shell server host keys are as follows.

SSH protocolfingerprint
SSH version 1ab:ea:b4:05:02:45:96:1a:06:f0:22:f9:a3:02:e1:33
SSH version 2 (rsa)15:22:46:69:9f:ac:14:68:8a:be:f1:e4:29:7c:a9:51
SSH version 2 (dsa)07:ca:16:b6:df:a4:bf:d3:4c:1d:ba:e1:12:bf:96:76

By the way, the user name/pass word for the shell server is the same as the OSDN login name/password.

How to Set Up to Use Shell Server

By simply creating an account on OSDN won't enable you to use the shell server. To use the shell server, you will have to be involved in a project. Therefore, you will need to either

  • Start a project on your own.
  • Join an already existing project and become one of their members.

(The shell server is there to support the project activity, so the shell server feature won't be necessary if you're not involved in any project.)

Also, to access the shell server, you will need to have an SSH public key registered in advance. To learn how to register an SSH public key, read SSH Access Key.

Directory on Shell Server

Shell Server provides a home directory for each different user. User's home directory is on a path which looks like “/home/users/<the first letter of the user name>/<the first and second letters of the user name>/<user name>”.

For an example, if the user name is “johnsmith”, the home directory will be “/home/users/j/jo/johnsmith/”.

Also, each project will be provided with a home directory. Project's home directory is on a path which looks like “/home/groups/<the first letter of the project's UNIX name>/<the first and second letters of the project's UNIX name>/<project's UNIX name>”.

For example, if the project's UNIX name is “osdn”, the project's home directory will be “/home/groups/o/os/osdn/”.

Home Directory Permissions

Home Directory Permissions and the Group where the User belongs

directoryowner userowner group permission
user's home directorythe user users 0755
Project's home directory dummy The Unix name of the project2775

On shell server, each project will be provided with a group that has the same name as the Unix name of the project. That group automatically consists of users that are involved in the project. That means, all users can browse what's below the home directory, but only users who are involved in the project can post entries.

How to Transfer File to Shell Server

To transfer a file to shell server externally, you can use SCP or SFTP. There are also commands such as ftp, scp, rsync, cvs, svn, git, hg on shell server, and by executing these commands after logging into to the shell server, you can copy a file from the external server.