[[PageNavi(NavigationList)]]
= シェルサーバーが提供するサービスとその利用方法
OSDNでは、SSH経由でアクセスできるシェルサーバー'''shell.osdn.net'''を提供しています。シェルサーバーにはユーザーごとにホームディレクトリが用意されており、基本的なシェルの機能や定期的にコマンドを実行するためのcrontab、各種スクリプトの実行環境などが利用できます。
なお、シェルサーバーを利用するには、事前にSSH公開鍵を登録しておく必要があります。SSH公開鍵の登録は、各ユーザーページのアカウント管理ページから行えます。SSH公開鍵の登録については、[SSHアクセスのためのキー]をご参照ください。
[[PageOutline(start=2)]]
== シェルサーバーが提供するサービス
シェルサーバーでは、次の機能が利用できます。
* 各種シェル(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
{{{ comment
* Webのアクセスログ解析ツール(analog、!WebAnalyzerなど)
}}}
このほかにも、シェルサーバーには多数のツールがインストールされています。インストールされているコマンドの一覧は、[シェルサーバーで利用できるコマンド]をご確認ください。もしインストールされていないツールが必要な場合は、適宜お問い合わせください。
== 利用できないサービス
次に挙げているものは、シェルサーバーでサポートして'''いない'''機能の一部です(このリストは、決して包括的なものではありません)。このような機能を提供するソフトウェアをインストール・実行しているユーザーについては、警告なしにアカウントを停止します。
* IRC(ボットを含む)サービス
* ソフトウェアのコンパイル
* メールリーダー
* ネットワークスキャナー
* サービスソフトウェアの拒否
* ネットワーク侵入ソフトウェア(「rootkit」などの個別の侵入ソフトウェア)
* パケットスニファー
* Web Proxy
また、これらに該当しなくても一定時間をこえて動作し続けているプロセスは自動的に停止(kill)させられることがあります。
さらに、ユーザーがシステムセキュリティまたはアクセス制御を回避しようと試みたり、ネットワーク侵入やサービス攻撃拒否を開始またはそれらに参加したり試みたりした場合は、刑事告発することがあります。OSDNは、法律の執行機関のそのような活動に対する捜査に協力します。何が許可され、何が許可されないのかの詳細についてはお問い合わせください。
== シェルサーバーへのアクセス
シェルサーバーのホスト名は、「shell.osdn.net」です。シェルサーバーへのアクセスにはSSHを利用します。SSHプロトコルバージョン2のみが利用できます。シェルサーバーのホスト鍵のfingerprintは以下の通りです。
||'''SSHプロトコル'''||'''fingerprint'''||
||SSH version 2 (RSA)||SHA256:t8eSp7jLAuJIhC41J/z90XhB8w+CCCuEv9sySN6MZE0[[BR]]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[[BR]]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[[BR]]MD5:bc:f6:07:61:03:4f:cb:5b:25:9e:c4:33:f2:40:5a:18||
||SSH version 2 (ED25519)||SHA256:jvf86dk6FvJho99wYtmBEOUWHOMzJdv0l/!Wc1lJxWZk[[BR]]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の利用については、[/magazine/08/09/03/1110251 Windows用SCP/SFTPクライアント「WinSCP」で安全なファイル転送]をご参照ください。
[[PageNavi(NavigationList)]]