ssh コマンドの利用

OS X や Linux など,Unix ベースの OS の多くは,OpenSSH などの ssh コマンドが使えます.ここではそれらを用いる方法を紹介します.sshコマンドの利用時に行われる認証には,

  • パスワードによる方法
  • 鍵ペア(公開鍵と秘密鍵)による方法
があります.両者とも暗号化された安全な方法ですが,鍵ペアによる方法の方が一般により安全です.

近年,パスワードを破られて不正侵入される事案が多々発生していることから,学外からのアクセスに関しては,鍵認証のみとすることを検討中です.

パスワードによる方法

  1. 端末プログラム(xterm, kterm, gnome-terminal, ターミナル 等)を起動します.
  2. サーバ接続と認証
    • 以下のように ssh コマンドを入力してください,ユーザ名には,UEC アカウント名またはRES アカウント名を指定します.
      % ssh ユーザ名@sol.edu.cc.uec.ac.jp
      
    • パスワードを要求されるので入力してください.
  3. サーバーとの接続解除
    • exit コマンドを実行してください.ウィンドウが閉じない場合は、右上の「×」をクリックするなどしてください.

鍵ペア(公開鍵と秘密鍵)による方法

  1. ssh-keygenコマンドを使って鍵のペアを作ります.

    % ssh-keygen (Enter)
    Generating public/private rsa key pair.
    Enter file in which to save the key (/homedir/.ssh/id_rsa): (キーの保存場所.通常はそのまま Enter)
    Enter passphrase (empty for no passphrase): (パスフレーズを入力)
    Enter same passphrase again: (パスフレーズを再入力)
    Your identification has been saved in /homedir/.ssh/id_rsa.
    ・・(略)・・
    $
    
  2. ~/.ssh/id_rsa (秘密鍵)と id_rsa.pub (公開鍵)が作成されていることを確認します.

    % ls ~/.ssh/
    id_rsa  id_rsa.pub 
    
  3. 公開鍵を対象のサーバに登録する

    公開鍵をサーバに登録するためには,サーバ上の ~/.ssh/authorized_keys に先ほど作成した公開鍵 id_rsa.pub中身をコピーする必要があります.(ファイル自体ではなく中身をコピーします.)

    • 教育系:
      % cat ~/.ssh/id_rsa.pub | ssh UEC アカウント名@sol.edu.cc.uec.ac.jp "cat >> ~/.ssh/authorized_keys"
      
    • 研究系:
      % cat ~/.ssh/id_rsa.pub | ssh RESアカウント名@roo.cc.uec.ac.jp "cat >> ~/.ssh/authorized_keys"
      
  4. パスフレーズでログインする

    ただしく鍵交換ができていれば,ssh コマンドによるログイン時に,パスワードではなく,1. で設定したパスフレーズの入力を要求されます.

    • 教育系:
      % ssh UECアカウント名@sol.edu.cc.uec.ac.jp
      Enter passphrase for key '/homedir/.ssh/id_rsa': (パスフレーズを入力)
      [UECアカウント名@sol ~]$
      
    • 研究系:
      % ssh RESアカウント名@roo.cc.uec.ac.jp
      Enter passphrase for key '/homedir/.ssh/id_rsa': (パスフレーズを入力)
      [RESアカウント名@roo ~]$
      

PuTTY の利用

PuTTY のダウンロードとインストール

接続の手順

UEC アカウントで教育系サーバ sol.edu.cc.uec.ac.jp に接続する場合を例とします.研究系サーバ roo.cc.uec.ac.jp に接続する場合はRES アカウントを利用して下さい。

  1. SSH のチェック欄をクリックしてプロトコルとして SSH を指定してください。
  2. 「Host Name (or IP address)」欄 に sol.edu.cc.uec.ac.jp と入力してください。「port」欄 は22を入力してください。

    putty_01.png

  3. 右下の 「Open」 ボタンをクリックしてください。問題がなければ接続が開始されます。
  4. 「login as:」 の後にユーザ名を入力を入力してください。
  5. 「password:」 のあとにパスワードを入力してください。入力したパスワード文字は表示されません。
  6. ログアウト時は exit コマンドを実行してください。exit コマンドでウィンドウが閉じない場合は、右上の×をクリックして閉じてください。

参考:PuTTYでの known_hosts の消去

PuTTYで設定したセッションや、SSHのホストキーは下記のレジストリに保存されています。

HKEY_CURRENT_USER\Software\SimonTatham\PuTTY

これを削除する際は、PuTTYのインストールされているディレクトリで下記のコマンドを入力する事により削除するとこができます。

C:\ putty -cleanup

詳しくはオリジナルサイト 学外を参照してください。


Tera Term の利用

  1. 起動すると、「新しい接続」ウィンドウが表示されます。「ホスト」欄に教育系の場合はsol.edu.cc.uec.ac.jp、研究系の場合はroo.cc.uec.ac.jp「ポート」欄には22を入力して「OK」ボタンをクリックしてください。

    teraterm_01.png

  2. セキュリティウィンドウが表示されますが、「続行」ボタンをクリックしてください。
  3. サーバ名に誤りがなければ「SSH認証」画面が表示されます。ユーザ名とパスワードをそれぞれ入力してください。なお、セキュリティ上「パスワードをメモリ上に記憶する」のチェックは外しておくことを推奨します。

    teraterm_02.png

  4. 「OK」ボタンをクリックすると、対象のサーバへログインすることができます。

最新版ソフトウェアの詳しい使用法については オリジナルサイト学外 を参考にして下さい。


SSH トンネルによる学内ウェブの閲覧

SSH トンネルを使って学外から学内のウェブを見る方法を紹介します.この方法により UEC アカウントで sol.edu.cc.uec.ac.jp(教育系計算サーバ)にログインできる方なら,事前に鍵を取得したり,申請を行うことなく学外から学内のウェブページをみることができます.緊急で一時的に学内ページアクセスしたい場合に便利です.

下に示すように,上で紹介した SSH には,SSHトンネルにより,学外の PC から学内に設置されたサーバなどに sol を介して一部の通信を中継する機能を持ちます.以下に,各コマンドおよびソフトを通じてこれを行うための手順を紹介します.

基本的な設定の流れは,

  1. SSH クライアントでトンネルを生成する
  2. トンネル経由ウェブにアクセスするようにブラウザを設定する
です.以下に SSH クライアントごとの具体的な設定方法をまとめます.

PuTTY による方法(Windows)

Windows用の PuTTY というソフトウェアが SSH トンネルに対応しています.Tera Term でも一部対応していますがここでは割愛します.

  1. PuTTY を起動し,画面左の「セッション」(「Session」)を選び,画面右の「ホスト名または IP アドレス」(「Host Name (or IP address)」)の欄にsol.edu.cc.uec.ac.jp と入力します.
  2. 同じく画面左の「接続」(「Connection」)をクリックし,開いたメニューからさらに「SSH」をクリックします.さらに開いたメニューから「トンネル」(「Tunnels」)を選びます.
  3. 画面右の「源ポート」に1080を入力し,その下の「ダイナミック」(「Dynamic」)をクリックします.最後に「追加」(「Add」)ボタンを押すと,その直上のフォームに「D1080」と表示されます.
  4. 画面下の「開く」(「Open」)をクリックし,UEC アカウント名とパスワードを入力し,sol にログインします.ログイン中のみ,お使いの PC の 1080 ポートから教育系サーバ sol.edu.cc.uec.ac.jp に繋がる SSH トンネルが生成されています.
  5. ブラウザでプロキシ・サーバの設定を行います.「インターネットオプション」→「接続」タブ→「LANの設定」→「詳細設定」と進んでいただき,Socks サーバのアドレスとして localhost,そのポート番号に 1080 を設定してください.設定完了後,ブラウザでウェブページを開くと,sol 経由でウェブページが閲覧できます.

    プロキシ・サーバではなく,Socks サーバのアドレスのみを指定する点に注意してください.自動設定は使用せず,HTTP,Secure,FTPの項目は空にしてください.
  6. ウェブの閲覧が終わったら,プロキシ・サーバの設定を元に戻し,SSH をログアウトするか,ウィンドウを閉じてください.

sshコマンドによる方法(OS X, UNIX)

OpenSSH などの ssh コマンドにより,SSH トンネルができます.

  1. ssh -D 1080 UECアカウント名@sol.edu.cc.uec.ac.jpを入力し,トンネルを生成します.このコマンドにより,ログイン中のみ,お使いの PC の 1080 ポートから教育系サーバ sol.edu.cc.uec.ac.jp に繋がる SSH トンネルを生成されます.

  2. ブラウザでプロキシ・サーバの設定を行います.Socks サーバのアドレスとして localhost,そのポート番号に 1080 を設定してください.設定完了後,ブラウザでウェブページを開くと,sol 経由でウェブページが閲覧できます.

    プロキシ・サーバではなく,Socks サーバのアドレスを指定する点に注意してください.
  3. ウェブの閲覧が終わったら,プロキシ・サーバの設定を元に戻し,SSH をログアウトしてください.