セキュアシェル接続の設定 (公開鍵による認証)
セキュアシェル接続では、セキュアシェルプロトコル*1
のポートフォワードの機能を用いて、
通常の接続方法に比べてより安全に X アプリケーションを使用することができます。
また、XDMCP や rexec での接続とは異なり、
インターネット経由の通信のようなネットワーク経路上でIPアドレスの変換が行われている場合でも接続可能です。
セキュアシェル接続では、
rexec 接続 と同様に
任意の X アプリケーションを個別に起動します。
このページでは主として、 Red Hat Enterprise Linux や SUSE Linux に標準で付属しているセキュアシェル機構との通信を想定して説明していますが、その他のシステムでもご参考にしていただけます。
秘密鍵、公開鍵の作成
初めて秘密鍵や公開鍵を作製する場合は以下の手順で作製してください。
すでに公開鍵による認証を利用している場合は、
お持ちの秘密鍵を ASTEC-X でもそのまま使用できますので、あらためて作製する必要はありません。
- キージェネレータを起動します。
Windows のスタートメニューから、すべてのプログラム(または "プログラム") → ASTEC-X → キージェネレータ を選ぶと以下のパネルが表示されます。
または、コントロールパネルの「セキュアシェル」パネルにある[公開鍵/秘密鍵の作成]ボタンをクリックしても同じパネルが表示されます。"生成する鍵の種類" では、多くの場合、デフォルトの "バージョン2/DSA" を選択しておけば結構です。
"生成する鍵のビット数" は1024 から 8192までの数を指定します。 数値が大きいほど堅牢です。
[生成]ボタンを押すと、鍵生成のための乱数を発生させる次のウィンドウが開きます。
-
ウィンドウ内で、マウスカーソルをランダムに移動させることで鍵生成のための乱数を発生させます。プログレスバーの表示が右端まで進むと自動的に鍵の生成が行われます。
- 「鍵を生成中です。お待ちください。」というメッセージが表示されたのち、
鍵を生成が完了すると以下のパネルが表示されます。
-
[パスフレーズの入力:]テキストボックスに、パスフレーズを入力します。パスフレーズは、パスワードとは異なる文字列を記述してもかまいません。 [パスフレーズの再入力:]テキストボックスでは、確認のため、[パスフレーズの入力:]テキストボックスに入力した文字列を再び入力します。
- [秘密鍵を保存] グループボックスの [保存]ボタンをクリックすると、
以下のような秘密鍵ファイルを保存するダイアログが開きます。
秘密鍵は任意のファイル名で、任意のディレクトリに保存することができます。
- [公開鍵を保存]グループグループボックスでは、[OpenSSH形式] と [SSH形式] の
ボタンが表示されますが、環境にあわせて適切な形式を選択します。
各Linuxディストリビューションに標準で付属しているセキュアシェルデーモンを使用する場合には、 [OpenSSH形式] を選択しておけば結構です。
[OpenSSH形式] ボタンをクリックすると公開鍵ファイルを保存するダイアログが開きます。公開鍵ファイルは、PC 側では使用せず、最終的には UNIX/Linux ホスト上に置くファイルなので、任意のフォルダにおいていただいて結構です。
公開鍵のファイル名は、 UNIX/Linux ホスト上では、 authorized_keys2 としなければならないので、 保存の時点でこのファイル名にしておくとよいでしょう。
OpenSSH形式の公開鍵の場合には、パネル上部の、 「この公開鍵をOpenSSHのauthorized_keys2ファイルにペーストできます」と書かれている箇所の下の欄の内容を、直接、 authorized_keys2 ファイルにペーストしていただいても結構です。
-
UNIX/Linux ホスト側の設定
公開鍵ファイルの設定 (個人ユーザーごとの設定)
- 公開鍵ファイルを置くディレクトリを用意します。
ホームディレクトリの直下に ".ssh" というディレクトリ (隠しディレクトリ) を作り、 owner だけが読み書きができるようにパーミッションを設定します。
$ cd
$ mkdir .ssh
$ chmod 700 .ssh
$ ls -al .ssh
total 8
drwx------ 2 username username 4096 Mar 3 07:01 .
drwx------ 17 username username 4096 Mar 3 07:01 ..
$- 公開鍵ファイルをおきます。
先ほど作ったディレクトリ ".ssh" に、 何らかの方法で公開鍵ファイルを転送して、 owner だけが読み書きができるようにパーミッションを設定します。
$ cd ~/.ssh
$ chmod 600 authorized_keys2
$ ls -l
total 4
-rw------- 1 username username 606 Mar 3 06:28 authorized_keys2
$セキュアシェルデーモンの設定 (root権限での設定)
- セキュアシェルデーモンの確認
セキュアシェルで接続する先の UNIX ホストにログインし、 セキュアシェルのデーモン sshd が動作しているかどうかを ps コマンドで確認します。
$ ps aux | grep sshd
root 666 0.0 0.4 2624 1216 ? S Sep13 0:00 /usr/sbin/sshd - X11Forwarding の設定の確認
セキュアシェルデーモンの設定ファイル /etc/ssh/sshd_config の X11Forwarding の行を確認してください。 X11Forwarding が yes になっていない場合は、 root 権限でファイルを編集し、 yes に変更します。
また、冒頭が "#" でコメントアウトされている場合には、"#" も削除します。X11Forwarding yes - セキュアシェルデーモンの起動または再起動
セキュアシェルデーモンが動作していなかった場合や、 X11Forwarding の設定を切り替えた場合だけ、root 権限で sshd の起動または起動を行ってください。
以下は、sshd を再起動するコマンドです。# /etc/init.d/sshd restart
Shutting down SSH daemon done
Starting SSH daemon done
ASTEC-X 側の設定
コントロールパネルの設定
- Windows のスタートメニューまたは AXP ファイルから ASTEC-X コントロールパネルを起動します。
- [接続] パネルを開き、[セキュアシェルを使用する] をチェックします。
-
次に [接続]→[セキュアシェル] パネルを表示し、以下のように設定します。
- [接続ホスト名]
- 接続する UNIX ホストのホスト名か、IP アドレスを記述します。
- [ユーザー名]
- UNIX ホストのログイン名を記述してください。
- [コマンド]
-
任意のコマンドを実行することができますが、初めて接続をする場合には、 ほとんどの UNIX/Linux に標準で付属している xterm の起動を試していただいて、 接続確認をしていただくのが良いでしょう。
PATH環境変数が初期化ファイルで設定されている場合は 絶対パスで指定する必要はありませんが、 もし接続がうまくいかない場合は、xterm コマンドの場所を絶対パスで記述してみてください。絶対パスについては以下の表を参考にしてください。
rexec 接続の場合とは異なり、 xterm コマンドを表示するディプレイ(Xサーバ)を指定するための "-display %d" の指定は必要ありません(指定した場合正しく動作しません)。
UNIX OS コマンド Solaris /usr/openwin/bin/xterm HP-UX, AIX
DigitalUNIX, EWS-UX/usr/bin/X11/xterm Linux /usr/X11R6/bin/xterm その他の UNIX OS UNIX マシンにログインして
which xterm (Cシェル系の場合)
または
type xterm (Bシェル系の場合)
を実行した結果を参照してください。 - [プロトコルバージョン]
-
セキュアシェルプロトコルのバージョンを指定します。
デフォルトの、[自動(2→1)] の場合、 相手ホストがプロトコルバージョン2 を受付けずに接続に失敗した場合、 自動的にプロトコルバージョン1 での接続を試みます。 - [秘密鍵]
- 秘密鍵ファイルの指定します。[参照]ボタンをクリックして、[ファイルを開く]ダイアログを表示してファイルを指定していただくのが簡単です。
- 以上の設定が終わったら、[OK] ボタンを押してASTEC-X コントロールパネルを終了してください。
ASTEC-X の起動とログイン方法
- Windows のスタートメニューまたは AXP ファイルから ASTEC-X を起動します。
-
ログイン画面が表示されるので、
ホスト名とユーザー名を確認して [OK] ボタンを押します。
- 初めて接続するホストの場合、 ホスト鍵の追加ダイアログが表示されますので、 [OK] を押して先に進みます。
-
パスワード認証のダイアログが表示されますので、
パスワードを入力して [OK] を押します。
-
xterm が表示されます。
サポートするセキュアシェルプロトコル機能
- プロトコルバージョン
- ASTEC-X は、セキュアシェルプロトコルバージョンの 1 と 2 の両方をサポートしています。 プロトコルバージョン 2 では、プロトコルバージョン 1 に比べて、 より安全性の高い通信路上で X のアプリケーションを使用することができます。
- 認証方式
- バージョン1 - RSA 公開鍵認証方式
- バージョン1 - パスワード認証方式
- バージョン2 - RSA 公開鍵認証方式
- バージョン2 - DSA 公開鍵認証方式
- バージョン2 - パスワード認証方式
- 暗号化方式
- バージョン1 - 3des
- バージョン2 - aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour, aes192-cbc, aes256-cbc
- MAC(Message Authentication Code)方式(バージョン2のみ)
- hmac-md5, hmac-sha1, hmac-ripemd160, hmac-sha1-96, hmac-md5-96
Copyright © 2000 Rworks, Inc. / 個人情報保護方針 / 著作権・リンクについて - 公開鍵ファイルをおきます。