鍵ペアの作成と公開鍵の登録

目次

鍵認証とは

鍵認証とは,パスワード認証と異なり,予め登録した公開鍵とPCに保存した秘密鍵のペアをログイン時の認証に使用する認証方法です.従来の,パスワードでの認証は,辞書攻撃などによりパスワードが悪意の第三者に使用されてしまう可能性がありますが,鍵認証では秘密鍵の管理さえしっかりしていれば,そのような心配はありません.
また,秘密鍵はパスフレーズ(長い文字列を使用したパスワード)による保護が可能であり,PCの紛失等で秘密鍵が漏洩した場合でも第三者による秘密鍵の悪用を防ぐことができます.

スーパーコンピュータシステムでは, パスフレーズなし秘密鍵の利用は禁止 していますので必ず設定してください.ログインノード上にパスフレーズなし秘密鍵が置かれている場合,削除処理が自動で行われます.

鍵ペアの作成と保存(Windows)

ここでは,Windows7でPuTTYを使用する場合を例に鍵ペアの作成と保存の手順を説明します.

前提条件

  1. PuTTyのインストール の手順でPuTTyのインストールが完了していること.

手順

1. puttygen.exe をダブルクリックして, PuTTygen を起動します.

2. 生成する鍵のビット数に 2048 を指定してください(下図の(1)).

3. 公開/秘密鍵ペアの生成の 生成 を押してください(下図の(2)).

PuTTYgenの起動画面

4. 空白のエリアでマウスを動かすよう表示されますので,指示にしたがってください.表示されているインジケータが右端まで進むまでの十数秒間マウスを動かす必要があります.

乱数を作成し鍵ペアを作成する画面

5.鍵ペアの作成ができると下図のような画面に切り替わりますので, パスフレーズを2か所 入力してください(下図の(1),(2)).

パスフレーズについて

パスフレーズは姓名などの使用を避け,英字の大文字・小文字,数字,および記号すべてを含んだ十分な長さ(12文字以上)の文字列を設定してください.安全性の高いパスフレーズの作成にあたっては, 強力なパスワード・パスフレーズの作成について を参考にしてください.

6. 秘密鍵の保存 ボタンを押し,表示されるダイアログでフォルダ,ファイル名を指定し,保存してください(下図の(3)).なお,秘密鍵が他人の手に渡ることのないよう,厳重に管理してください.

7. 公開鍵をコピーし, 利用者ポータル から登録してください(下図の(4)).公開鍵は1行ですが,文字数が長いため折り返して表示されています.スクロールで隠れている分も含めて全てコピーして登録する必要があります.

パスフレーズの入力,鍵の保存画面

8. X (GUI)環境を利用するため,Exceed onDemand と PortForwarder を利用する場合には,メニューバーの 変換 , OpenSSH形式へエクスポート を選択し,表示されるダイアログでフォルダを選択し,ファイル名 id_rsa として保存してください.

PortForwarder向けにOpenSSH形式の秘密鍵を保存する

9. 画面右上のxボタンを押して,画面を閉じてください.

鍵ペアの作成(Mac,Linux)

ssh-keygen コマンドを使用して鍵ペアを作成する例を示します.

前提条件

  1. OpenSSHがインストールされていること.なお,最近のディストリビューションでは標準でインストールされている場合がほとんどです.

手順

$ ssh-keygen -t rsa -b 2048   #(1)
Generating public/private rsa key pair.
Enter file in which to save the key (/home/taro/.ssh/id_rsa): #(2)
Enter passphrase (empty for no passphrase):  #(3)
Enter same passphrase again:  #(4)
Your identification has been saved in /home/taro/.ssh/id_rsa.
Your public key has been saved in /home/taro/.ssh/id_rsa.pub.
The key fingerprint is:
8c:13:10:d2:c0:12:c5:0b:53:d4:3f:b6:9c:16:f6:ca taro@test.kyoto-u.ac.jp

(1)RSAバージョン2で,2048ビットの鍵を生成する
(2)鍵ペアの保存先を指定します.デフォルトでは,~/.ssh/id_rsa が表示されています.表示された保存先でよい場合はそのまま Enter を押してください.
(3)パスフレーズの入力
(4)パスフレーズの再入力

パスフレーズについて

パスフレーズは姓名などの使用を避け,英字の大文字・小文字,数字,および記号をすべて含んだ十分な長さ(12文字以上)の文字列を設定してください.安全性の高いパスフレーズの作成にあたっては, 強力なパスワード・パスフレーズの作成について を参考にしてください.

作成した鍵ペアの確認

デフォルトの保存先で鍵ペアを作成した場合,~/.ssh を確認すると以下のように鍵が作成されています. id_rsa が秘密鍵, id_rsa.pub が公開鍵です.スパコンへのログインの前に, 利用者ポータルでの公開鍵の登録 の手順で,公開鍵を登録していただく必要があります.

$ ls ~/.ssh/
id_rsa id_rsa.pub
$ cat ~/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsotK4PbdadfhbXbTPIsxvwKFIg+8Lmp0pXKckAOuSnoaaT516ddj9rnIJlE/JaJf0cltp+087R6Ov8LPY+QeQvzzUfGiAQQVdwBiMrVQVqXylIoidU86uz/w8GITXltu1m+fXO+O26dEESQWsAgiNfVOzB57OCadGX1iCy6/2CxvNEB3mnHkvmC+H3azP27tTARHXqTBThuxjwR9iZBkx2iYSW3tVg0cDdzuLP3ULVrJXHrrLCr1HGaAzQEs0M+vtrV+G8gLlkeqbKy4YKWKUY/xkM8c/20jnSKP36SeU4fezbRQREkYqRjx4a3kx97K1sfch/WKwzuHWqhYYMtvEw== taro@test.kyoto-u.ac.jp

利用者ポータルでの公開鍵の登録

1. 利用者ポータル へアクセスし,利用者番号(ユーザ名)とパスワードを入力してください.

利用者ポータルログイン画面

2.左メニューの SSH用公開鍵登録 を選択してください.

利用者ポータルトップページ

3. SSH用公開鍵の登録ページで SSH用公開鍵 (下図(1))に作成した公開鍵をコピー&ペーストし, 確認項目 (下図(2))を全て遵守していることを確認した上で, 送信 (下図(3))を押すと登録が完了します.

利用者ポータルSSH公開鍵登録ページ

4. 登録の完了後,作成した秘密鍵とパスフレーズを使用して,スーパーコンピュータにログインできます.ログインの具体的な手順は, Windowsでのログイン および Mac・Linuxでのログイン をご覧ください.

鍵の取り扱いについて

鍵の管理

秘密鍵が流出すると,スーパーコンピュータシステムのセキュリティに対して重大な脅威になります.秘密鍵が他人に漏れることのないよう適切に管理してください.なお,他人に漏れた恐れがある場合には,portal * kudpc.kyoto-u.ac.jp ( * は @ に変えてください) にご連絡いただき適切な処置についてご相談ください.

複数PCからスパコンにログインする場合の鍵の取扱い

デスクトップPCとノートPCなど,複数PCからスーパーコンピュータシステムにログインする場合など,複数PCからログインする場合,鍵ペアはそれぞれ別のものを使用してください.

公開鍵の追加,削除

利用者ポータルから登録した公開鍵は,以下の例のように,スーパーコンピュータ上の ~/.ssh/authorized_keys というファイルに保存されています.ログインに使用する公開鍵の追加,削除は,このファイルを直接編集してください.

利用者ポータルから公開鍵を登録した時点では,以下の例のように1つの鍵が記載されています.

$ cat ~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEA2u3ckgu2sakTgLgpjK2Ihd9O4oN6FNPovlDsTtSzErd665L4SkyzGY5wc35CqAehxi3kRLxugseUTykHUeTBHVSJju1arYPnnL1CdURqraSBsIRyErPUE8YFcDtPpmr8wCcdzB8iTsLOs4vo/L1nxGOZn0iifhZ7mLMu+3G55JFJsafn0s/e7sP6KMiQJ6Muv026Y6zUcLalp11ILrta4+ep0mvH6jjhCpzEnupRxVWDvZASMhfUF/pG61o9shqMBvKNCUVxhjZlyRARtpVvRBhjjxcaXV87EpiUBnzPSQ+JlLsFtuRKUtUwjaSxZIBaVPxSrGBhwkq3URPAhyD8QQ== rsa-key-20120315

公開鍵を追加する場合,エディタを使用するなどして,2行目に鍵を追記してください.

$ cat ~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEA2u3ckgu2sakTgLgpjK2Ihd9O4oN6FNPovlDsTtSzErd665L4SkyzGY5wc35CqAehxi3kRLxugseUTykHUeTBHVSJju1arYPnnL1CdURqraSBsIRyErPUE8YFcDtPpmr8wCcdzB8iTsLOs4vo/L1nxGOZn0iifhZ7mLMu+3G55JFJsafn0s/e7sP6KMiQJ6Muv026Y6zUcLalp11ILrta4+ep0mvH6jjhCpzEnupRxVWDvZASMhfUF/pG61o9shqMBvKNCUVxhjZlyRARtpVvRBhjjxcaXV87EpiUBnzPSQ+JlLsFtuRKUtUwjaSxZIBaVPxSrGBhwkq3URPAhyD8QQ== rsa-key-20120315
ssh-rsa AAAAffffC1yc2EAAAABJQAAAQEA2u3ckgu2sakTgLgpjK2Ihd9O4oN6FNPovlDsTtSzErd665L4SkyzGY5wc35CqAehxi3kRLxugseUTykHUeTBHVSJju1arYPnnL1CdURqraSBsIRyErPUE8YFcDtPpmr8wCcdzB8iTsLOs4vo/L1nxGOZn0iifhZ7mLMu+3G55JFJsafn0s/e7sP6KMiQJ6Muv026Y6zUcLalp11ILrta4+ep0mvH6jjhCpzEnupRxVWDvZASMhfUF/pG61o9shqMBvKNCUVxhjZlyRARtpVvRBhjjxcaXV87EpiUBnzPSQ+JlLsFtuRKUtUwjaSxZIBaVPxSrGBhwkq3URPAhyD8QQ== rsa-key-20121022

authorized_keysのセキュリティ追加設定

スーパーコンピュータ上の ~/.ssh/authorized_keys ファイルを編集し,キーワードを指定することで,セキュリティの設定ができます.詳細は,man sshd の AUTHORIZED_KEYS FILE FORMAT の項目をご覧ください.

ログイン元のIPアドレスやホスト名でフィルタリングを行う

ssh-rsaで始まる公開鍵の文字列の前に, from=“192.168.0.1”from=“myhost.jp” のような形式でIPアドレスやホスト名を記述することで,接続元を制限することができます.対応する鍵が使用された場合,記述したパターンに合致しなければアクセスが遮断されます.IPアドレスやホスト名の指定に際して,アスタリスク(*)をワイルドカードとして利用できます.
この設定を行うことで,たとえば,研究室のネットワークからのアクセスだけを許可することが可能となります.

$ cat ~/.ssh/authorized_keys
from="10.113.*.*" ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEA2u3ckgu2sakTgLgpjK2Ihd9O4oN6FNPovlDsTtSzErd665L4SkyzGY5wc35CqAehxi3kRLxugseUTykHUeTBHVSJju1arYPnnL1CdURqraSBsIRyErPUE8YFcDtPpmr8wCcdzB8iTsLOs4vo/L1nxGOZn0iifhZ7mLMu+3G55JFJsafn0s/e7sP6KMiQJ6Muv026Y6zUcLalpkkjj11ILrta4+ep0mvH6jjhCpzEnupRxVWDvZASMhfUF/pG61o9shqMBvKNCUVxhjZlyRARtpVvRBhjjxcaXV87EpiUBnzPSQ+JlLsFtuRKUtUwjaSxZIBaVPxSrGBhwkq3URPAhyD8QQ== rsa-key-20120315
from="*.kyoto-u.ac.jp" ssh-rsa AAAAffffC1yc2EAAAABJQAAAQEA2u3ckgu2sakTgLgpjK2Ihd9O4oN6FNPovlDsTtSzErd665L4SkyzGY5wc35CqAehxi3kRLxugseUTykHUeTBHVSJju1arYPnnL1CdURqraSBsIRyErPUE8YFcDtPpmr8wCcdzB8iTsLOs4vo/L1nxGOZn0iifhZ7mLMu+3G55JFJsafn0s/e7sP6KMiQJ6Muv026Y6zUcLalp11ILrta4+ep0mvH6jjhCpzEnupRxVWDvZASMhfUF/pG61o9shqMBvKNCUVxhjZlyRARtpVvRBhjjxcaXV87EpiUBnzPSQ+JlLsFtuRKUtUwjaSxZIBaVPxSrGBhwkq3URPAhyD8QQ== rsa-key-20121022
  • authorized_keysファイルを誤って編集し,ログインできなくなるような事態を防ぐため,ログイン済みのコンソールを残した状態で接続テストを行ってください.
  • 利用者ポータルの公開鍵登録フォームでは上の記法に対応しておりませんので,authorized_keysファイルを直接編集してください.

秘密鍵の紛失,パスフレーズ忘れなどの場合

利用者ポータル での公開鍵登録は,スーパーコンピュータへのログイン成功後一定時間が経過すると停止します.秘密鍵の紛失,パスフレーズ忘れの場合は,登録いただいているメールアドレスから.以下の事項を記載の上,お申し出ください.

  • 宛先:consult * kudpc.kyoto-u.ac.jp ( * は @ に変えてください)
  • 差出人:登録いただいているメールアドレス
  • 件名:公開鍵登録の再開希望
  • 本文:
    • 利用者番号:
    • 所属機関・部局:
    • 氏名:
    • 秘密鍵の紛失,パスフレーズ忘れの状況,理由PuTTYgenの起動画面