Secure Shellサーバの設定例

Secure Shellサーバを有効化してリモートログインを受け入れるための設定例

このタスクについて

Secure Shellはユーザ認証にパスワード認証または公開鍵認証を使用できます。ユーザ名は"admin"固定となります。

始める前に

注:
スタンドアロンモードでは工場出荷時コンフィグに、Secure Shellの有効化およびパスワード認証(パスワード不要)が設定されています。
ヒント:
  • パスワードを設定するにはシェルのコマンド実行による暗号化文字列の生成が必要です。SACMコントロールパネルで設定する場合などコンフィグを直接記述するには、別途シェル上で暗号化文字列を生成し転記する必要があります。
  • 公開鍵認証を使用するにはOpenSSH形式の鍵をPC等で生成する必要があります。
    • macOSを含むUNIX系OSやWindows PowerShellのssh-keygenコマンドを利用できます。

パスワード認証

Secure Shellサーバでパスワード認証によるリモートログインを受け入れる設定例

手順

  1. サンプルコンフィグ
    sshd.service                   : enable
    sshd.password-authentication   : enable
    login.admin.encrypted-password : $2a$09$uM2N82NJe6lzj6F0Cs68A25RH237C5xwU7J6ch6aYZ/dQmnIfZWS
    • Secure Shellサーバおよびパスワード認証を有効化します。
    • login...キーには暗号化されたパスワード文字列を指定する必要があります。これを生成するにはコマンドシェル上でpasswordコマンドを実行する必要があります(次項参照)。あるいは他の装置で生成済みの暗号化済文字列を流用します。
      注:
      上記サンプルは対応するパスワードのない無効な文字列です
  2. paswordコマンドによるパスワード設定
    passwordコマンドを実行すると、パスワード文字列を暗号化してlogin...キーが設定されます。
    # password
    Changing local password for admin.
    New password:
    Retype new password:
    The below entry has been added to the running config.
    login.admin.encrypted-password : $2a$09$uM2N82NJe6lzj6F0Cs68A25RH237C5xwU7J6ch6aYZ/dQmnIfZWS
    • 実行すると新しいパスワードの入力を促すプロンプトが表示されます。入力したパスワード文字列は表示されません。
    • 確認プロンプトにもう一度パスワードを入力すると、暗号化しコンフィグに設定されたlogin...キーが表示されます。

次のタスク

  • 設定が完了すると、本装置のIPアドレスに対してSecure Shellクライアントからログイン可能になります。
  • ログイン時のユーザ名は"admin"を使用します

公開鍵認証

Secure Shellサーバで公開鍵認証によるリモートログインを受け入れる設定例

始める前に

  • 公開鍵認証を使用するには、Secure Shellクライアント側で鍵を生成し、公開鍵を本装置に設定する必要があります。
    • macOSを含むUNIX系OSやWindows PowerShellのssh-keygenコマンドを利用できます。

手順

  1. サンプルコンフィグ
    sshd.authorized-keys.0.pubkey: "ssh-rsa AAAAB3NzaC1yc2EAAAAD...yUoVRPpyqssICtl domain\\user@host"
    sshd.password-authentication:  disable
    sshd.service:                  enable
    • Secure Shellサーバを有効化し、パスワード認証は無効化します。(併用可能ですが公開鍵認証使用時は無効化を推奨します)
    • ...pubkeyのバリューにはPC等で生成した公開鍵の文字列(次項参照)を設定します。上記サンプルは文字列を一部省略しています。
  2. 鍵の生成とコンフィグへの設定
    1. 鍵を生成する
      ここではWindows PowerShellのssh-keygenコマンドを使用します。他のOSでも同様操作で生成可能です。
      PS C:\Users\username> ssh-keygen
      Generating public/private rsa key pair.
      Enter file in which to save the key (C:\Users\username/.ssh/id_rsa):
      Enter passphrase (empty for no passphrase):
      Enter same passphrase again:
      Your identification has been saved in C:\Users\username/.ssh/id_rsa.
      Your public key has been saved in C:\Users\username/.ssh/id_rsa.pub.
      The key fingerprint is:
      SHA256:CGS8hLrL4PtLD3DqV4rozYGQV6d6Jx8IsBwhdEFaw domain\user@host
      The key's randomart image is:
      +---[RSA 2048]----+
      |o o*Ooo          |
      ...
      |O+B+o.           |
      +----[SHA256]-----+
      PS C:\Users\username>
      • パスフレーズは必要に応じて設定してください。
      • 完了すると、所定のディレクトリにid_rsa(秘密鍵)およびid_rsa.pub(公開鍵)が生成されます。
    2. 公開鍵の設定
      公開鍵(id_rsa.pub)ファイルは次のような内容です。(一部省略)
      ssh-rsa AAAAB3NzaC1yc2EAAAAD...yUoVRPpyqssICtl domaein\user@host
      コンフィグへの転記は、前述のサンプルコンフィグのように公開鍵の内容をそのまま...pubkeyのバリューに設定します。
      末尾のdomaein\user@hostにあたる識別用のコメントは省略可能です。設定に含める場合は特殊文字に注意してください。この文字列の場合は"\"を"\\"に置き換える必要があります。
    3. 秘密鍵の確認
      秘密鍵(id_rsa)ファイルは次のような内容です。(一部省略)
      -----BEGIN RSA PRIVATE KEY-----
      MIIEpAIBAAKCAQEArS6ZEvKfXlu+IwD7PRJxcgqmM90LoI994wPmWBiBcx4WO/LK
      ...
      OTgzKuhm8+RFuvkEL/c3BVbxoPeZxNs+1xaeR6awEu8hNOynE6fbCA==
      -----END RSA PRIVATE KEY-----
      秘密鍵はリモートログインに利用するクライアント側でSecure Shellクライアントが使用するように設定してください。

次のタスク

  • 設定が完了すると、本装置のIPアドレスに対してSecure Shellクライアントからログイン可能になります。
  • ログイン時のユーザ名は"admin"を使用します