シェルサーバーが提供するサービスとその利用方法

 OSDNでは、SSH経由でアクセスできるシェルサーバーshell.osdn.netを提供しています。シェルサーバーにはユーザーごとにホームディレクトリが用意されており、基本的なシェルの機能や定期的にコマンドを実行するためのcrontab、各種スクリプトの実行環境などが利用できます。

 なお、シェルサーバーを利用するには、事前にSSH公開鍵を登録しておく必要があります。SSH公開鍵の登録は、各ユーザーページのアカウント管理ページから行えます。SSH公開鍵の登録については、SSHアクセスのためのキーをご参照ください。

シェルサーバーが提供するサービス

 シェルサーバーでは、次の機能が利用できます。

  • 各種シェル(bash、tcsh、ksh、zshなど)
  • テキストエディタ、ページャ(vi、pico、vim、emacs、less、lvなど)
  • スクリプト言語環境(Perl、PHP、Ruby、Pythonなど)
  • テキスト処理やコンテンツ管理を行うツール(latex、docbook、nkfなど)
  • ファイルの転送を行うツール(ftp、scp、rsyncなど)
  • CVS/Subversionリポジトリにアクセスするツール(cvs、svnなど)
  • ファイルの圧縮/展開/変換を行うツール(zip、gzip、lha、tarなど)
  • 定期的なコマンド実行を行うcron

 このほかにも、シェルサーバーには多数のツールがインストールされています。インストールされているコマンドの一覧は、シェルサーバーで利用できるコマンドをご確認ください。もしインストールされていないツールが必要な場合は、適宜お問い合わせください。

利用できないサービス

 次に挙げているものは、シェルサーバーでサポートしていない機能の一部です(このリストは、決して包括的なものではありません)。このような機能を提供するソフトウェアをインストール・実行しているユーザーについては、警告なしにアカウントを停止します。

  • IRC(ボットを含む)サービス
  • ソフトウェアのコンパイル
  • メールリーダー
  • ネットワークスキャナー
  • サービスソフトウェアの拒否
  • ネットワーク侵入ソフトウェア(「rootkit」などの個別の侵入ソフトウェア)
  • パケットスニファー
  • Web Proxy

 また、これらに該当しなくても一定時間をこえて動作し続けているプロセスは自動的に停止(kill)させられることがあります。

 さらに、ユーザーがシステムセキュリティまたはアクセス制御を回避しようと試みたり、ネットワーク侵入やサービス攻撃拒否を開始またはそれらに参加したり試みたりした場合は、刑事告発することがあります。OSDNは、法律の執行機関のそのような活動に対する捜査に協力します。何が許可され、何が許可されないのかの詳細についてはお問い合わせください。

シェルサーバーへのアクセス

 シェルサーバーのホスト名は、「shell.osdn.net」です。シェルサーバーへのアクセスにはSSHを利用します。SSHプロトコルバージョン2のみが利用できます。シェルサーバーのホスト鍵のfingerprintは以下の通りです。

SSHプロトコルfingerprint
SSH version 2 (RSA)SHA256:t8eSp7jLAuJIhC41J/z90XhB8w+CCCuEv9sySN6MZE0
MD5:15:22:46:69:9f:ac:14:68:8a:be:f1:e4:29:7c:a9:51
SSH version 2 (DSA)SHA256:6BGVEdHdBN/p+V50BULTWPozRv/g8/9JwVztBOm/ffg
MD5:07:ca:16:b6:df:a4:bf:d3:4c:1d:ba:e1:12:bf:96:76
SSH version 2 (ECDSA)SHA256:CZHWOCUwQFZD+sD41mukreoxzLYhKZffs+EKXDCK1L0
MD5:bc:f6:07:61:03:4f:cb:5b:25:9e:c4:33:f2:40:5a:18
SSH version 2 (ED25519)SHA256:jvf86dk6FvJho99wYtmBEOUWHOMzJdv0l/Wc1lJxWZk
MD5:4b:52:d3:3c:06:e0:70:b8:37:a2:57:e7:21:76:7c:58

 なお、シェルサーバーでのユーザー名/パスワードはOSDNのログイン名/パスワードと同じです。

シェルサーバーを使えるようにセットアップする

 シェルサーバーは、単にOSDNのアカウントを取得しただけでは利用できません。シェルサーバーを利用するためには、何らかのプロジェクトに参加している必要があります。つまり、

  • 自分でプロジェクトを立ち上げる
  • 既存のプロジェクトに開発メンバーとして参加する

といったことが必要になります(あくまでシェルサーバーはプロジェクトの活動を補助するためのものであり、プロジェクトに参加していないのならシェルサーバー機能は不要です)。

 また、シェルサーバーへアクセスするには、あらかじめSSH公開鍵を登録しておく必要があります。SSH公開鍵の登録方法については、SSHアクセスのためのキーをご参照ください。

シェルサーバーに用意されるディレクトリ

 シェルサーバーには、各ユーザーごとにホームディレクトリが用意されています。ユーザーのホームディレクトリは、「/home/users/<ユーザー名の1文字目>/<ユーザー名の1、2文字目>/<ユーザー名>/」というパスにあります。

 たとえば、ユーザー名が「johnsmith」の場合、ホームディレクトリは「/home/users/j/jo/johnsmith/」になります。

 また、プロジェクトごとのホームディレクトリも用意されています。プロジェクトのホームディレクトリは、「/home/groups/<プロジェクトUNIX名の1文字目>/<プロジェクトUNIX名の1、2文字目>/<プロジェクトUNIX名>/」というパスにあります。

 たとえば、プロジェクトUNIX名が「osdn」の場合、プロジェクトのホームディレクトリは「/home/groups/o/os/osdn/」になります。

ホームディレクトリのパーミッションとユーザーの所属グループ

 ユーザーおよびグループのホームディレクトリは、デフォルトでは次のようなパーミッションが設定されます。

ディレクトリ所有ユーザー所有グループパーミッション
ユーザーのホームディレクトリそのユーザー「users」0755
プロジェクトのホームディレクトリ「dummy」そのプロジェクトのUNIX名2775

 シェルサーバーでは各プロジェクトごとに、プロジェクトのUNIX名と同じ名前を持つグループが用意されています。このグループには、そのプロジェクトの参加ユーザーが自動的に加えられます。つまり、各プロジェクトのホームディレクトリ以下は、すべてのユーザーから閲覧可能ですが、書き込みについてはそのプロジェクトに参加しているユーザーだけが可能という設定になっています。

シェルサーバーへのファイル転送

 外部からシェルサーバーにファイルを転送するには、SCPもしくはSFTPが利用できます。また、シェルサーバーにはftpやscp、rsync、cvs、svnといったコマンドが用意されており、シェルサーバーにログインしてこれらのコマンドを実行することで、外部のサーバーからファイルをコピーすることも可能です。

 Windows環境でのSCP/SFTPの利用については、Windows用SCP/SFTPクライアント「WinSCP」で安全なファイル転送をご参照ください。