SSH Tectia

手動での公開鍵のアップロード

本項のすべてのコマンドは、SSH Tectia Client を実行しているマシンからの sshg3scpg3 を使用して示されています。サーバ側の設定は、リモート サーバにログインし、コマンドをローカルで入力することによって実行することもできます。

鍵のペアを使用して公開鍵認証を有効にするには、以下の手順を実行してください。

  1. Connection Broker が検索できるディレクトリに鍵を置きます。

    デフォルトでは Connection Broker は、UNIX では $HOME/.ssh2 ディレクトリ、Windows では %APPDATA%\SSH\UserKeys および %APPDATA%\SSH\UserCertificates ディレクトリにある各鍵の使用を試行します。

    また、Windows では、SSH Tectia 構成ツールの [鍵と証明書] ページで鍵の他のディレクトリの場所を追加することもできます。鍵と証明書の管理項を参照してください。UNIX では、ssh-broker-config.xml ファイル内の general/key-stores/key-store エレメントを使用できます。キー ストアの設定例項を参照してください。

  2. (オプション) identification ファイルを作成します。

    すべての鍵がデフォルトのディレクトリに保存され、公開鍵や証明書による認証にすべての鍵を使用できるようにしている場合は、identification ファイルを使用する必要はありません。identification ファイルが存在しない場合、Connection Broker はデフォルトのディレクトリにある各鍵の使用を試行します。identification ファイルが存在する場合は、そのファイルに記述されている鍵が最初に試行されます。

    UNIX では $HOME/.ssh2 ディレクトリに、Windows では %APPDATA%\SSH ディレクトリに、identification という名前のファイルを作成します。

    そのファイルを任意のテキスト エディタで編集して、以下の行を追加します (id_dsa_2048_a を秘密鍵のファイル名に置き換えてください)。

    IdKey       id_dsa_2048_a 

    鍵は identification ファイルと同じディレクトリにあると見なされますが、絶対パスまたは相対パスを指定することもできます。 たとえば、Windows では以下のようになります。

    IdKey       UserKeys\id_dsa_2048_a 

    identification ファイルには、複数の鍵 ID を含めることができます。identification ファイルの構文の詳細については、$HOME/.ssh2/identificationを参照してください。

  3. 他の何らかの認証方法を使用して Server に接続し、.ssh2 (および .ssh2/authorized_keys) を作成します。または、ホーム ディレクトリの下に .ssh ディレクトリがまだ存在しない場合は、そのディレクトリを作成します。

    リモート ホストで実行しているサーバのバージョンに応じて、以下のいずれかのコマンドを実行します。

    • UNIX または z/OS 上の SSH Tectia Server:

      $ sshg3 ServerUser@tectia_server mkdir .ssh2 

      UNIX 上の SSH Tectia Server 5.x 以降で承認ファイルを使用しない場合は、authorized_keys ディレクトリも作成します。

      $ sshg3 ServerUser@tectia_unix mkdir .ssh2/authorized_keys 
    • Windows 上の SSH Tectia Server:

      $ sshg3 ServerUser@tectia_win "cmd /c mkdir .ssh2" 

      Windows 上の SSH Tectia Server 5.x 以降で承認ファイルを使用しない場合は、authorized_keys ディレクトリも作成します。

      $ sshg3 ServerUser@tectia_win mkdir "cmd /c mkdir .ssh2/authorized_keys" 
    • UNIX または z/OS 上の OpenSSH サーバ:

      $ sshg3 ServerUser@open_server mkdir .ssh 
  4. 公開鍵を Server にコピーします。

    リモート ホストで実行しているサーバのバージョンに応じて、以下のいずれかの手順を実行します。

    • UNIX および Windows 上の SSH Tectia Server 5.x 以降:

      SCP を使用して、公開鍵をサーバの authorized_keys ディレクトリ にアップロードします。デフォルトのディレクトリは、UNIX サーバでは $HOME/.ssh2/authorized_keys、Windows サーバでは %USERPROFILE%\.ssh2\authorized_keys です。

      $ scpg3 id_dsa_2048_a.pub ServerUser@tectia_server:.ssh2/authorized_keys/ 
    • UNIX および Windows 上の SSH Tectia Server 4.x:

      SCP を使用して、公開鍵をサーバ (デフォルトでは、UNIX では $HOME/.ssh2 ディレクトリ、Windows サーバでは %USERPROFILE%\.ssh2 ディレクトリ) にアップロードします。

      $ scpg3 id_dsa_2048_a.pub ServerUser@tectia4x_server:.ssh2/ 
    • SSH Tectia Server for IBM z/OS:

      公開鍵を EBCDIC 形式に変換する必要があります。これは、ファイル転送コマンドに dst-site コマンドライン オプション (scpg3 を使用している場合)、または site コマンド (sftpg3 を使用している場合) を含めることによって実行できます。

      SCP を使用して、公開鍵をサーバ (デフォルトでは、$HOME/.ssh2 ディレクトリ) にアップロードします。

      $ scpg3 --dst-site="C=ISO8859-1,D=IBM-1047,X=TEXT" id_dsa_2048_a.pub \
      ServerUser@tectia_zos:$HOME/.ssh2/
      
    • UNIX 上の OpenSSH サーバ:

      SCP を使用して、公開鍵をサーバの $HOME/.ssh ディレクトリにアップロードします。

      $ scpg3 id_dsa_2048_a.pub ServerUser@open_unix:.ssh/ 
  5. Server 上で、authorization または authorized_keys ファイルを作成します。

    リモート ホストで実行しているサーバのバージョンに応じて、以下のいずれかの手順を実行します。

    • UNIX および Windows 上の SSH Tectia Server 5.x 以降では、公開鍵がユーザの authorized_keys ディレクトリに保存されている場合、承認ファイルは必要ありません。ただし、承認ファイルが使用される場合もあります。このファイルを作成する方法については、下の SSH Tectia Server 4.x に関する情報を参照してください。

    • UNIX および Windows 上の SSH Tectia Server 4.x と SSH Tectia Server for IBM z/OS では、ユーザの .ssh2 ディレクトリに保存された authorization ファイルが必要です。承認ファイルでは、ログイン用に承認された公開鍵を指定します。

      承認ファイルに鍵のエントリを追加します。UNIX または z/OS サーバでは、以下のようにします。

      $ sshg3 ServerUser@tectia_server "echo Key id_dsa_2048_a.pub >> \
      .ssh2/authorization"
      

      Windows サーバでは、以下のようにします。

      $ sshg3 ServerUser@tectia4x_win "cmd /c echo Key id_dsa_2048_a.pub >> \
      .ssh2/authorization"
      

      authorization ファイルの例を以下に示します (デフォルトでは、UNIX および z/OS サーバでは $HOME/.ssh2/authorization、Windows サーバでは %USERPROFILE%\.ssh2\authorization)。

      Key     id_dsa_2048_a.pub 

      これによって SSH Tectia Server は、ログインを承認するときに id_dsa_2048_a.pub を有効な公開鍵として使用します。

    • OpenSSH サーバでは、公開鍵が OpenSSH 公開鍵ファイル形式に変換され、ユーザの .ssh ディレクトリ内の authorized_keys ファイルに保存されている必要があります。

      サーバ上で公開鍵を OpenSSH 公開鍵ファイル形式に変換し、$HOME/.ssh/authorized_keys ファイルに追加します。これは、以下のコマンドを使用して実行できます。

      $ sshg3 ServerUser@open_server "ssh-keygen -i -f id_dsa_2048_a.pub >> \
      .ssh/authorized_keys"
      
  6. ssh-broker-config.xml ファイルで公開鍵認証が有効になっていることを確認します (デフォルトでは有効です)。

    <authentication-methods>
      <auth-publickey />
    ...
    </authentication-methods>
    

    この設定ファイルには、他の認証方法も記述できます。最も非対話的な方法を最初に記述します。

Server が自分のアカウントに対する公開鍵認証を許可するように設定されている場合、これで公開鍵認証を使用して Client から Server にログインできます。

以下のようにログインを試行します。

Client$ sshg3 Server 

秘密鍵のパスフレーズを入力するよう求められます。パスフレーズを入力した後、SecureShell 接続が確立されます。