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.
The following features are available on the shell server.
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.
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.
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.
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 version 1||ab: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.
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
(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.
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 and the Group where the User belongs
|directory||owner user||owner group||permission|
|user's home directory||the user||users||0755|
|Project's home directory||dummy||The Unix name of the project||2775|
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.
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.