SSHマニュアル UNIX系

SSH(Secure SHell)は、公開鍵暗号技術に基づく暗号システムを用いています。ここでは、そのSSH(プロトコル バージョン1)を対象に、SourceForgeでの設定と基本的な操作方法について説明します。

注:OpenSSHがインストールされている環境を前提に進めています。

1.sshの入手

1.1.OpenSSH

OpenSSHはフリーのSSH接続ツールです。下記アドレスから入手できます。

http://www.openssh.org/

2.ssh-keygen:秘密鍵と公開鍵の作成

sshで認証に用いる鍵の作成を行います。

$ ssh-keygen -t rsa1 -C comment

-t:鍵の種類を指定。プロトコルバージョン1を使用するため、rsa1と設定する。
-C:コメントを入力することができます。

Enter file in which to save the key (/home/username/.ssh/identity):
鍵を保存するところを聞いてきますので、デフォルトの設定に変更の必要がない場合はそのまま進みます。

Enter passphrase (empty for no passphrase):
shellサーバにアクセスする際のパスフレーズを設定します。これは別に空でもかまいません。

Enter same passphrase again:
パスフレーズを確認するため、もう一度入力します。

Your identification has been saved in /home/username/.ssh/identity
Your public key has been saved in /home/username/.ssh/identity.pub
.sshディレクトリに秘密鍵と公開鍵が保存されました。

これで、鍵の作成は完了です。

3.sshプロトコルバージョンの優先順位

デフォルトのプロトコルバージョンの優先順位を設定する必要があります。

/etc/ssh/ssh_config

# protocal 2, 1
の行をコメントをはずして

protocal 1, 2
とします。

4.sourceforgeへ公開鍵を登録

認証に用いる秘密鍵と公開鍵が作成できました。次にその公開鍵をsourceforgeへ登録しなければなりません

  1. まず、https://sourceforge.jp/からログインします。
  2. ログインを行ったらアカウント管理をクリックします。
  3. アカウント管理ページの下の方に
  4. CVS/SSHで共有する公開鍵: 0 [鍵の編集]
    とありますので、この[鍵の編集]をクリックします。
  5. ここの公開鍵テキストボックスに、ステップ1で作成した公開鍵identity.pubのテキストをコピーします。この時、最後に改行コードが入らないように注意して下さい。あとは、更新を押して鍵の数が更新されていれば完了です。
    実際にsshを使用できるようになるまで数分かかりますので数分後に、シェルサーバーにアクセスして下さい。

5.シェルサーバ

シェルサーバの目的は、ユーザコンテンツの管理をサポートしたり、Webページを提供したり、ユーザプロジェクトに関連するCGIを実行したりすることです。

5.1.利用できるサービス

  • テキストエディタ(vi、pico、vimなど)
  • CGIを実行するのに必要な言語(Perl、PHP、Pythonなど)
  • コンテンツの管理と生成をサポートするツール(latte、docbookなど)
  • ファイル交換をサポートするソフトウェア(ftp、scpなど)
  • Webのログ解析(analog、WebAnalyzerなど)
  • ユーザのWebサイトの操作をサポートするクーロンジョブ

5.2.利用できないサービス

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

5.3.シェルサーバにログイン

シェルサーバは、shells.sourceforge.jpです。ログインするには、

$ ssh -l username shells.sourceforge.jp

とします。

詳しくは、sourceforgeのサイトドキュメントをご覧下さい。

6.scp:ネットワーク上のホスト間でのファイル転送

シェルサーバにファイルをコピーする際に使用します。sshと同様の認証を行います。

書式
$ scp [option] [[user@]host1:]filename1... [[user@]host2:]filename2...

option
-r:再帰的にディレクトリーをコピーします。
-p:コピー元ファイルの最終修正時刻、最終アクセス時刻、及びパーミッションを保つようにする。

[[user@]host1:]filename1...:コピー元
[[user@]host2:]filename2...:コピー先

:ローカルのfileをsourceforgeのホームディレクトリにコピー
$ scp filename username@shells.sourceforge.jp: