[index] CentreCOM 8948XL コマンドリファレンス 2.9

# 運用・管理/Secure Shell

      - SSHサーバー
       - パスワード認証
       - RSA認証
      - SSHクライアント
       - パスワード認証
       - RSA認証

Secure Shell（SSH）は、暗号技術を利用してネットワーク経由のログインなどを安全に行うためのプロトコルです。通信内容の暗号化により盗聴や改ざんを防ぐほか、サーバーやユーザーの認証機能によってなりすましを防ぐ効果もあります。
本製品は、SSHバージョン1（1.5）のサーバー機能とクライアント機能を備えています。セッションの暗号アルゴリズムはDES、認証方式はパスワード認証とRSA認証をサポートしています。

SSHサーバー

ここでは、本製品をSSHサーバーとして動作させるための基本設定について説明します。SSHはIP上で動作するため、IPの設定までは済んでいるものとします。
SSHサーバーの運用にあたっては、以下の点に注意してください。

- プロトコルバージョンはSSHバージョン1（1.5）
- 暗号アルゴリズムはDESのみ
- 認証方式はパスワード認証とRSA認証のどちらか
- 再起動後もRSA鍵を保持させるために、セキュリティーモードへの切り替えが必要
- SSHサーバー有効時はTelnetサーバーへのアクセス不可

以下、認証方式ごとに基本設定を示します。なお、認証方式はユーザーごとに指定できるので、ユーザーAはパスワード認証、ユーザーBはRSA認証といった設定も可能です。

パスワード認証

パスワード認証でSSHサーバーを運用するための最低限の設定を示します。ここでは、Security Officerレベルのユーザー「secoff」がSSHでログインできるようにします。なお、IPの設定までは済んでいるものとします。

1. セキュリティーモードで管理作業を行うことのできるSecurity Officerレベルのユーザーを作成します。

   `ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓`
2. SSHサーバーのホスト鍵（Host Key）を鍵番号「1」として作成します。推奨鍵長は1024ビットです。

   `CREATE ENCO KEY=1 TYPE=RSA LENGTH=1024 DESCRIPTION="host key" ↓`

   > Note - RSA鍵の作成には時間がかかります。「RSA Key generation process completed.」と表示されるまで待ってから、次の手順に進んでください。

   > Note - このコマンドはコンソールから直接入力したときだけ有効で、エディター等で設定ファイルに記述した場合は無効になります。

   > Note - 鍵番号は0〜65535の範囲で自由に選択できます。以後、鍵は番号だけで識別することになるため、鍵を作成するときは、DESCRIPTIONパラメーターを使って、鍵の用途などコメントを付けておくとよいでしょう。このコメントはSHOW ENCO KEYコマンドで表示されます。

3. SSHサーバーのサーバー鍵（Server Key）を鍵番号「2」として作成します。サーバー鍵は最小長512ビットで、なおかつ、ホスト鍵より128ビット以上短くなくてはなりません。一般的な長さは768ビットです。

   `CREATE ENCO KEY=2 TYPE=RSA LENGTH=768 DESCRIPTION="server key" ↓`

   > Note - RSA鍵の作成には時間がかかります。「RSA Key generation process completed.」と表示されるまで待ってから、次の手順に進んでください。

   > Note - このコマンドはコンソールから直接入力したときだけ有効で、エディター等で設定ファイルに記述した場合は無効になります。

4. SSHサーバーを有効化します。このとき、手順2、3で作成したホスト鍵とサーバー鍵の番号を指定します。

   `ENABLE SSH SERVER HOSTKEY=1 SERVERKEY=2 ↓`

   > Note - SSHサーバーを有効化すると、本製品内蔵Telnetサーバーへのアクセスはできなくなります。すなわち、SSHサーバーとTelnetサーバーはどちらか一方のみ使用できます。

5. SSHユーザー「secoff」を登録します。

   `ADD SSH USER=secoff PASSWORD=PasswordS ↓`

   > Note - SSHユーザーと同じ名前のユーザーが本製品のユーザー認証データベース（ADD USERコマンドで登録するデータベース）に登録されている場合、ユーザー認証データベースでの権限がSSHユーザーにも適用されます。SSHユーザーと同じ名前のユーザーがユーザー認証データベースに登録されていないときは、USERレベル（一般ユーザー権限）になります。各ユーザーレベルの権限については、「運用・管理」/「ユーザー認証データベース」をご覧ください。

   > Note - ユーザー認証データベースに登録されているユーザー（ADD USERコマンドで登録したユーザー）と同じ名前のSSHユーザーを登録した場合、ユーザー権限はデータベースと同じになりますが、パスワードは別々に設定できます。ADD SSH USERコマンドのPASSWORDパラメーターで指定したパスワードは、SSHログイン時のパスワード認証でのみ使用されます。

6. Security Officerレベルのユーザーでログインしなおします。

   `LOGIN secoff ↓`
7. ノーマルモードでは再起動によって鍵が消去されるため、再起動後も鍵が保持されるセキュリティーモードに切り替えます。

   `ENABLE SYSTEM SECURITY_MODE ↓`
8. 設定内容をファイルに保存し、SET CONFIGコマンドで起動時設定ファイルに指定します。ここでは例として、sshserv.cfgというファイルに保存します。

   `CREATE CONFIG=sshserv.cfg ↓
   SET CONFIG=sshserv.cfg ↓
   `

   > Note - セキュリティーモードでSET CONFIGコマンドを実行すると、「Warning: Config file MUST add a user with SECURITY OFFICER privilege. Do you wish to proceed with setting config?(y/n)」というメッセージが表示されます。ここでは、すでにSecurity Officerレベルのユーザー「secoff」を作成済みなので、「y」と答えてください。

■ 作成した鍵の情報はSHOW ENCO KEYコマンドで確認できます。

`SHOW ENCO KEY ↓
SHOW ENCO KEY=1 ↓
`

■ デフォルトではサーバー鍵の自動更新は行われません。自動更新を行うには、ENABLE SSH SERVERコマンドかSET SSH SERVERコマンドのEXPIRYTIMEパラメーターで0以外の更新間隔（時間）を指定します。EXPIRYTIMEパラメーターの省略時は0（更新しない）となります。次の例では、SSHサーバーを有効化するときに、24時間（1日）ごとに鍵を更新するよう設定しています。

`ENABLE SSH SERVER HOSTKEY=1 SERVERKEY=2 EXPIRYTIME=24 ↓`

サーバーを有効化した後で設定を変更するには、SET SSH SERVERコマンドを使います。

`SET SSH SERVER EXPIRYTIME=24 ↓`

■ SSHユーザーが5回連続してログインに失敗すると、該当ユーザーは自動的に無効状態（ログインできない状態）になります。無効状態のユーザーを再度有効にするには、サーバー上でENABLE SSH USERコマンドを実行する必要があります。

`ENABLE SSH USER=carelessuser ↓`

■ SSHユーザーの有効・無効はSHOW SSH USERコマンドで確認できます。

`SHOW SSH USER ↓
SHOW SSH USER=carelessuser ↓
`

■ SSHサーバーへの接続を特定のIPアドレスからだけに制限することもできます。これには、ADD SSH USERコマンド、SET SSH USERコマンドのIPADDRESS、MASKパラメーターを使います。IPアドレスによるアクセス制限はSSHユーザーごとに設定します。たとえば、SSHユーザー「secoff」に対し、IPアドレス192.168.10.100からのみ接続を許可するには、次のようにします。

`ADD SSH USER=secoff PASSWORD=PasswordS IPADDRESS=192.168.10.100 ↓`

また、接続できるクライアントをサブネット192.168.10.0/24内に制限するには、次のようにします。

`ADD SSH USER=secoff PASSWORD=PasswordS IPADDRESS=192.168.10.0 MASK=255.255.255.0 ↓`

■ SSHサーバーの状態はSHOW SSHコマンドで確認できます。

`SHOW SSH ↓`

■ SSHセッションの状態はSHOW SSH SESSIONSコマンドで確認できます。

`SHOW SSH SESSIONS ↓`

■ SSH使用時には、以下のSSH関連イベントがログに記録されます。

- SSHユーザーの追加、削除、設定変更
- SSHサーバーの有効化、無効化
- SSHコネクションの開始、終了、拒否

RSA認証

RSA認証でSSHサーバーを運用するための最低限の設定を示します。ここでは、Security Officerレベルのユーザー「secoff」がSSHでログインできるようにします。なお、IPの設定までは済んでいるものとします。
また、ユーザー「secoff」のRSA公開鍵は、PC上のソフトウェアなどを使って作成済みであり、TFTPサーバー「192.168.10.130」にファイル名「secoff.key」としてアップロード済みであるとします。

1. セキュリティーモードで管理作業を行うことのできるSecurity Officerレベルのユーザーを作成します。

   `ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓`
2. SSHサーバーのホスト鍵（Host Key）を鍵番号「1」として作成します。推奨鍵長は1024ビットです。

   `CREATE ENCO KEY=1 TYPE=RSA LENGTH=1024 DESCRIPTION="host key" ↓`

   > Note - RSA鍵の作成には時間がかかります。「RSA Key generation process completed.」と表示されるまで待ってから、次の手順に進んでください。

   > Note - このコマンドはコンソールから直接入力したときだけ有効で、エディター等で設定ファイルに記述した場合は無効になります。

   > Note - 鍵番号は0〜65535の範囲で自由に選択できます。以後、鍵は番号だけで識別することになるため、鍵を作成するときは、DESCRIPTIONパラメーターを使って、鍵の用途などコメントを付けておくとよいでしょう。このコメントはSHOW ENCO KEYコマンドで表示されます。

3. SSHサーバーのサーバー鍵（Server Key）を鍵番号「2」として作成します。サーバー鍵は最小長512ビットで、なおかつ、ホスト鍵より128ビット以上短くなくてはなりません。一般的な長さは768ビットです。

   `CREATE ENCO KEY=2 TYPE=RSA LENGTH=768 DESCRIPTION="server key" ↓`

   > Note - RSA鍵の作成には時間がかかります。「RSA Key generation process completed.」と表示されるまで待ってから、次の手順に進んでください。

   > Note - このコマンドはコンソールから直接入力したときだけ有効で、エディター等で設定ファイルに記述した場合は無効になります。

4. SSHサーバーを有効化します。このとき、手順2、3で作成したホスト鍵とサーバー鍵の番号を指定します。

   `ENABLE SSH SERVER HOSTKEY=1 SERVERKEY=2 ↓`

   > Note - SSHサーバーを有効化すると、本製品内蔵Telnetサーバーへのアクセスはできなくなります。すなわち、SSHサーバーとTelnetサーバーはどちらか一方のみ使用できます。

5. ユーザー「secoff」のRSA公開鍵ファイルをTFTPサーバーからダウンロードします。鍵ファイルの拡張子は.keyでなくてはなりません。また、ファイルはSSH形式でなくてはなりません。

   `LOAD FILE=secoff.key SERVER=192.168.10.130 ↓`
6. ユーザー「secoff」のRSA公開鍵を本製品の鍵データベースに鍵番号「101」として登録します。

   `CREATE ENCO KEY=101 TYPE=RSA FILE=secoff.key FORMAT=SSH DESCRIPTION="secoff's public key" ↓`

   > Note - このコマンドはコンソールから直接入力したときだけ有効で、エディター等で設定ファイルに記述した場合は無効になります。

7. SSHユーザー「secoff」を登録します。KEYIDには手順6で鍵データベースに登録した鍵の番号を指定します。

   `ADD SSH USER=secoff KEYID=101 ↓`

   > Note - SSHユーザーと同じ名前のユーザーが本製品のユーザー認証データベース（ADD USERコマンドで登録するデータベース）に登録されている場合、ユーザー認証データベースでの権限がSSHユーザーにも適用されます。SSHユーザーと同じ名前のユーザーがユーザー認証データベースに登録されていないときは、USERレベル（一般ユーザー権限）になります。各ユーザーレベルの権限については、「運用・管理」/「ユーザー認証データベース」をご覧ください。

8. Security Officerレベルのユーザーでログインしなおします。

   `LOGIN secoff ↓`
9. ノーマルモードでは再起動によって鍵が消去されるため、再起動後も鍵が保持されるセキュリティーモードに切り替えます。

   `ENABLE SYSTEM SECURITY_MODE ↓`
10. 設定内容をファイルに保存し、SET CONFIGコマンドで起動時設定ファイルに指定します。ここでは例として、sshserv.cfgというファイルに保存します。

    `CREATE CONFIG=sshserv.cfg ↓
    SET CONFIG=sshserv.cfg ↓
    `

    > Note - セキュリティーモードでSET CONFIGコマンドを実行すると、「Warning: Config file MUST add a user with SECURITY OFFICER privilege. Do you wish to proceed with setting config?(y/n)」というメッセージが表示されます。ここでは、すでにSecurity Officerレベルのユーザー「secoff」を作成済みなので、「y」と答えてください。

■ デフォルトではサーバー鍵の自動更新は行われません。自動更新を行うには、ENABLE SSH SERVERコマンドかSET SSH SERVERコマンドのEXPIRYTIMEパラメーターで0以外の更新間隔（時間）を指定します。EXPIRYTIMEパラメーターの省略時は0（更新しない）となります。次の例では、SSHサーバーを有効化するときに、24時間（1日）ごとに鍵を更新するよう設定しています。

`ENABLE SSH SERVER HOSTKEY=1 SERVERKEY=2 EXPIRYTIME=24 ↓`

サーバーを有効化した後で設定を変更するには、SET SSH SERVERコマンドを使います。

`SET SSH SERVER EXPIRYTIME=24 ↓`

■ SSHユーザーが5回連続してログインに失敗すると、該当ユーザーは自動的に無効状態（ログインできない状態）になります。無効状態のユーザーを再度有効にするには、サーバー上でENABLE SSH USERコマンドを実行する必要があります。

`ENABLE SSH USER=carelessuser ↓`

■ SSHユーザーの有効・無効はSHOW SSH USERコマンドで確認できます。

`SHOW SSH USER ↓
SHOW SSH USER=carelessuser ↓
`

■ SSHサーバーへの接続を特定のIPアドレスからだけに制限することもできます。これには、ADD SSH USERコマンド、SET SSH USERコマンドのIPADDRESS、MASKパラメーターを使います。IPアドレスによるアクセス制限はSSHユーザーごとに設定します。たとえば、SSHユーザー「secoff」に対し、IPアドレス192.168.10.100からのみ接続を許可するには、次のようにします。

`ADD SSH USER=secoff KEYID=101 IPADDRESS=192.168.10.100 ↓`

また、接続できるクライアントをサブネット192.168.10.0/24内に制限するには、次のようにします。

`ADD SSH USER=secoff KEYID=101 IPADDRESS=192.168.10.0 MASK=255.255.255.0 ↓`

■ SSHサーバーの状態はSHOW SSHコマンドで確認できます。

`SHOW SSH ↓`

■ SSHセッションの状態はSHOW SSH SESSIONSコマンドで確認できます。

`SHOW SSH SESSIONS ↓`

■ SSH使用時には、以下のSSH関連イベントがログに記録されます。

- SSHユーザーの追加、削除、設定変更
- SSHサーバーの有効化、無効化
- SSHコネクションの開始、終了、拒否

SSHクライアント

ここでは、本製品をSSHクライアントとして使う場合の基本設定について説明します。SSHはIP上で動作するため、IPの設定までは済んでいるものとします。
SSHクライアントのご使用にあたっては、以下の点に注意してください。

- プロトコルバージョンはSSHバージョン1（1.5）
- 暗号アルゴリズムはDESのみ
- 認証方式はパスワード認証とRSA認証のどちらか
- 再起動後もRSA鍵を保持させるために、セキュリティーモードへの切り替えが必要

パスワード認証

パスワード認証でSSHサーバーに接続するための最低限の設定を示します。ここでは、SSHサーバー「192.168.10.1」にSecurity Officerレベルのユーザー「secoff」でログインします。なお、IPの設定までは済んでいるものとします。また、SSHサーバーは、前記の方法でセットアップされた本製品であるとします。

1. ユーザー名とパスワードを指定して、SSHサーバーに接続します。

   `SSH 192.168.10.1 USER=secoff PASSWORD=PasswordS ↓
   `
2. 初めてSSHサーバーに接続したときは、必ず以下のメッセージが表示され接続に失敗します。

       Host key not recognised - saved as ssh.key

       SSH. Session closed.

   これはエラーではなく、SSHサーバーから受け取ったホスト鍵が、SSHクライアントの鍵データベースに登録されていないことを意味するメッセージです。このメッセージが表示された場合、サーバーから受け取ったホスト鍵がクライアントのファイルシステム上に「ssh.key」という名前で保存されます。
3. SSHサーバーのホスト鍵を鍵データベースに鍵番号「10」として登録します。

   `CREATE ENCO KEY=10 TYPE=RSA FILE=ssh.key DESCRIPTION="SSH server's hostkey" FORMAT=SSH ↓
   `

   > Note - このコマンドはコンソールから直接入力したときだけ有効で、エディター等で設定ファイルに記述した場合は無効になります。

   > Note - 鍵番号は0〜65535の範囲で自由に選択できます。以後、鍵は番号だけで識別することになるため、鍵を作成するときは、DESCRIPTIONパラメーターを使って、鍵の用途などコメントを付けておくとよいでしょう。このコメントはSHOW ENCO KEYコマンドで表示されます。

4. サーバーに再度接続を試みます。サーバーのホスト鍵を登録した後は、ただちに接続できるようになります。

   `SSH 192.168.10.1 USER=secoff PASSWORD=PasswordS ↓
   `

■ ノーマルモードでは再起動によって鍵が消去されるため、通常の運用では、再起動後も鍵が保持されるセキュリティーモードに切り替える必要があります。SSHサーバーにログインできることを確認したら、サーバーからログオフし、以下の手順でセキュリティーモードに移行してください。

1. セキュリティーモードで管理作業を行うことのできるSecurity Officerレベルのユーザーを作成します。

   `ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓
   `
2. Security Officerレベルのユーザーでログインしなおします。

   `LOGIN secoff ↓`
3. 動作モードをセキュリティーモードに切り替えます。

   `ENABLE SYSTEM SECURITY_MODE ↓`
4. 設定内容をファイルに保存し、SET CONFIGコマンドで起動時設定ファイルに指定します。ここでは例として、sshcli.cfgというファイルに保存します。

   `CREATE CONFIG=sshcli.cfg ↓
   SET CONFIG=sshcli.cfg ↓
   `

> Note - セキュリティーモードでSET CONFIGコマンドを実行すると、「Warning: Config file MUST add a user with SECURITY OFFICER privilege. Do you wish to proceed with setting config?(y/n)」というメッセージが表示されます。ここでは、すでにSecurity Officerレベルのユーザー「secoff」を作成済みなので、「y」と答えてください。

RSA認証

RSA認証でSSHサーバーに接続するための最低限の設定を示します。ここでは、SSHサーバー「192.168.10.1」にSecurity Officerレベルのユーザー「secoff」でログインします。なお、IPの設定までは済んでいるものとします。また、SSHサーバーは、前記の方法でセットアップされた本製品であるとします。さらに、TFTPサーバーとして「192.168.10.130」が用意されているものとします。

1. SSHユーザー「secoff」の認証鍵ペアを鍵番号「20」として作成します。

   `CREATE ENCO KEY=20 TYPE=RSA LENGTH=1024 DESCRIPTION="secoff's authentication key" ↓`

   > Note - RSA鍵の作成には時間がかかります。「RSA Key generation process completed.」と表示されるまで待ってから、次の手順に進んでください。

   > Note - このコマンドはコンソールから直接入力したときだけ有効で、エディター等で設定ファイルに記述した場合は無効になります。

   > Note - 鍵番号は0〜65535の範囲で自由に選択できます。以後、鍵は番号だけで識別することになるため、鍵を作成するときは、DESCRIPTIONパラメーターを使って、鍵の用途などコメントを付けておくとよいでしょう。このコメントはSHOW ENCO KEYコマンドで表示されます。

2. 作成した鍵ペアの公開鍵をファイル「secoff.key」に書き出します。KEYには手順1で作成した鍵の番号を、FILEには書き出し先のファイル名を指定します。ファイルの拡張子は.keyとします。また、FORMATにはSSHを指定します。

   `CREATE ENCO KEY=20 TYPE=RSA FILE=secoff.key FORMAT=SSH ↓`
3. 書き出した公開鍵ファイル「secoff.key」をTFTPサーバーにアップロードします。ここではTFTPサーバーのIPアドレスを192.168.10.130とします。

   `UPLOAD FILE=secoff.key SERVER=192.168.10.130 ↓`
4. サーバー側でSSHユーザー「secoff」とその公開鍵を登録します。
5. ユーザー名と認証鍵の番号を指定して、SSHサーバーに接続します。

   `SSH 192.168.10.1 USER=secoff KEYID=20 ↓
   `
6. 初めてSSHサーバーに接続したときは、必ず以下のメッセージが表示され接続に失敗します。

       Host key not recognised - saved as ssh.key

       SSH. Session closed.

   これはエラーではなく、SSHサーバーから受け取ったホスト鍵が、SSHクライアントの鍵データベースに登録されていないことを意味するメッセージです。このメッセージが表示された場合、サーバーから受け取ったホスト鍵がクライアントのファイルシステム上に「ssh.key」という名前で保存されます。
7. SSHサーバーのホスト鍵を鍵データベースに鍵番号「10」として登録します。

   `CREATE ENCO KEY=10 TYPE=RSA FILE=ssh.key DESCRIPTION="SSH server's hostkey" FORMAT=SSH ↓
   `

   > Note - このコマンドはコンソールから直接入力したときだけ有効で、エディター等で設定ファイルに記述した場合は無効になります。

8. サーバーに再度接続を試みます。サーバーのホスト鍵を登録した後は、ただちに接続できるようになります。

   `SSH 192.168.10.1 USER=secoff KEYID=20 ↓
   `

■ ノーマルモードでは再起動によって鍵が消去されるため、通常の運用では、再起動後も鍵が保持されるセキュリティーモードに切り替える必要があります。SSHサーバーにログインできることを確認したら、サーバーからログオフし、以下の手順でセキュリティーモードに移行してください。

1. セキュリティーモードで管理作業を行うことのできるSecurity Officerレベルのユーザーを作成します。

   `ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓
   `
2. Security Officerレベルのユーザーでログインしなおします。

   `LOGIN secoff ↓`
3. 動作モードをセキュリティーモードに切り替えます。

   `ENABLE SYSTEM SECURITY_MODE ↓`
4. 設定内容をファイルに保存し、SET CONFIGコマンドで起動時設定ファイルに指定します。ここでは例として、sshcli.cfgというファイルに保存します。

   `CREATE CONFIG=sshcli.cfg ↓
   SET CONFIG=sshcli.cfg ↓
   `

> Note - セキュリティーモードでSET CONFIGコマンドを実行すると、「Warning: Config file MUST add a user with SECURITY OFFICER privilege. Do you wish to proceed with setting config?(y/n)」というメッセージが表示されます。ここでは、すでにSecurity Officerレベルのユーザー「secoff」を作成済みなので、「y」と答えてください。

(C) 2004 - 2008 アライドテレシスホールディングス株式会社

PN: J613-M0021-12 Rev.L