メインコンテンツに移動

SSH秘密鍵/公開鍵ペアの作成

秘密鍵/公開鍵ペアを作成し,公開鍵をサーバーに登録しておけば,秘密鍵を持ったデバイスは,サーバーにパスワードなしでログインできます.

ひみつかぎ?となる人は,まずここを全部読め

 mynameのところは,クラスターのアカウント名です.sun1のところは,ログインしたいサーバー名です.

  • この設定を行った人は, sun1とかsun0という文字列が使える.ここに従って設定した人も,同様に文字でいける.
  • 登録していない人は,アドレスの文字をダイレクトに入力.例えば  sun1 のところは 10.249.229.111,    sun0なら10.249.229.246

注意1: すでに秘密鍵を持っている人が,再度,秘密鍵を作成すると,以前とは異なる新しい鍵が作成されます(当然かな).すると,今まで登録していたところ全部に再登録しなければなりません.既に秘密鍵を持っている場合, ホームフォルダーに .ssh/id_rsa ファイルが存在します.その場合には,再作成しない方が身のためです.

注意2: 秘密鍵は,ユーザーに固有の情報です.ですので,1: 計算クラスターに1つ  2: あなたのMacのアカウントに一つ  3: スーパーコンピュータのアカウントに1つ  別々のものが存在可能です.Windowsは固有の秘密鍵は存在しないと思いますが不明です.

  1. 2023年6月まで SSHの秘密鍵を持っていない人は,ターミナルで
       ssh-keygen -t rsa
    とやって作成してください.何か聞かれても、ENTERキーでOK.「スパコン接続」で既に作成した人は,再作成はしないでください.もういっぺん設定作業が必要になります.
  2. 2023年6月以降
    1. 長年使用してきたRSA暗号化ですが,被撃破認定されてしまい(つまり,解法が発見された),RSAキーを使用不可とする大波が押し寄せています.
    2. まずは鍵ペアを, ターミナルで  
         % ssh-keygen -t ed25519
      と入力して作成しましょう. 何か聞かれても、ENTERキーでOK.「スパコン接続」で既に作成した人は,再作成はしないでください.もういっぺん設定作業が必要になります.
  3. 2023年6月まで あなたの公開鍵ファイルは ./.ssh/id_rsa.pub です.まずはこれを使って,アカウントを作成しましょう.
    • 新型鍵ファイルは, ./ssh/id_ed25519.pub だそうです.
  4. 2023年6月以降 あなたの公開鍵ファイルは ./.ssh/id_ed25519.pub です.まずはこれを使って,アカウントを作成しましょう.
  5. アカウントができたら,サーバーにログインします.
  6. 初めてのログインで
    1. ブラウザを使って鍵を登録します.
    2. 2023年6月まで あるいは,cat ./.ssh/id_rsa.pub | ssh myname@sun1 "cat >> ./.ssh/authorized_keys"
      を実行します。パスワードを尋ねられますが,それは地下の計算クラスターのパスワード
      • 新型だと, cat ./.ssh/id_ed25519.pub | ssh myname@sun1 "cat >> ./.ssh/authorized_keys"
    3. 2023年6月以降  あるいは,cat ./.ssh/id_ed265519.pub | ssh myname@sun1 "cat >> ./.ssh/authorized_keys"
  7. 準備ができたかどうかを確かめるには, ここで1分待ったのち,ターミナルで ssh myname@sun1 を実行します.パスワードなしで接続できたら,成功です.

なお, ssh-keygen では,「このパソコンである証拠は,このパソコンに,こういうデータがあることとする」というデータを作成しているのです.そして2番めのコマンドは,その鍵データをクラスターに覚えさせている.これらの作業の後は,対応する鍵孔データの有無でパソコンが特定できるので,パスワードのような貧弱な認証は不必要になる.