• English
  • Japanese

MENU

共通認証システム 矢上キャンパス 慶應義塾公式ウェブサイト

SSH公開鍵認証を利用したリモートログイン

  1. 秘密鍵・公開鍵のペアを作成する
    1. Windows の場合
      1. PuTTY の場合
      2. Tera Term の場合
    2. macOS, Linux(WSLも含む) の場合
  2. 公開鍵をサーバに登録する
  3. 秘密鍵を使ってサーバにログインする
    1. Windows の場合
      1. PuTTY の場合
      2. Tera Term の場合
    2. macOS, Linux(WSLも含む) の場合

1. 秘密鍵・公開鍵のペアを作成する

こちらの手順は、塾内からsshでパスワード認証でログインしての操作となります。
以下、「鍵の名前」の部分は適宜読み替えていただくようお願いします。

a. Windows の場合

ここでは PuTTY , または, Tera Term を利用した鍵生成の手順を紹介します。

i. PuTTY の場合

  1. PuTTYgenを起動します
  2. Parameters に ECDSA を選択し、Actions の Generate をクリックします。
  3. 指示の通りに空白のエリアでマウスを動かします。
    • このページではECDSAを推奨していますが、ソフトウェアのアップデートの有無などによってはECDSAに対応していないことがあります。
      ECDSAで鍵を作成し、公開鍵認証に失敗するという場合には、RSAによる暗号化をお試しください。
  4. Keyが生成されたら Key passphrase: 欄と Confirm passphrase: 欄にパスワード(※注)を入力し、Actions の Save private key ボタンを押して秘密鍵を保存します。秘密鍵は'鍵の名前'という名前で保存します。
    また、「Public key for pasting in to Open SSH authorized_keys file:」欄の内容を全てメモ帳などにコピーして、'鍵の名前.pub'という名前で保存します。
    こちらは公開鍵となります。Save public key ボタンは使用しません。
    ※注:ここで指定するパスワードは、ITCアカウントのログインパスワードではなく、秘密鍵ファイルを暗号化するためのパスワードです。
    今後、鍵認証を用いてssh接続を行う際に毎回使用します。
    鍵の名前・保存場所は任意の場所で構いません。
    ただし、秘密鍵ファイルは外部に漏洩すると不正ログインに利用されるので、大切に保管してください。

ii. Tera Term の場合

  1. Tera Term を起動し, 「Tera Term: 新しい接続」ウインドウをキャンセルして閉じます。
  2. 設定 > SSH鍵生成 を選択します
  3. 鍵の種類 に ECDSA-256 を選択し、生成 をクリックします。
    • このページではECDSAを推奨していますが、ソフトウェアのアップデートの有無などによってはECDSAに対応していないことがあります。
      ECDSAで鍵を作成し、公開鍵認証に失敗するという場合には、RSAによる暗号化をお試しください。
  4. 生成のクリック後、パスフレーズを入力したら公開鍵と秘密鍵を保存します。
    公開鍵は'鍵の名前.pub'という名前で、秘密鍵は'鍵の名前'という名前で保存します。鍵の名前・保存場所は任意のもので構いません。
    ただし、秘密鍵ファイルは外部に漏洩すると不正ログインに利用されるので、大切に保管してください。

b. macOS, Linux(WSLも含む) の場合

  1. ホームディレクトリ下の.sshディレクトリに移動します。
    $ cd ~/.ssh
    
    • .sshディレクトリがない場合は作成します。
      $ mkdir ~/.ssh
      $ chmod 700 ~./ssh
      $ cd ~/.ssh
      
  2. ECDSAによる暗号化で鍵のペアを生成します。
    $ ssh-keygen -t ecdsa -f 鍵の名前
    Generating public/private ecdsa key pair.
    Enter passphrase (empty for no passphrase):
    
    • このページではECDSAを推奨していますが、ソフトウェアのアップデートの有無などによってはECDSAに対応していないことがあります。
      ECDSAで鍵を作成し、公開鍵認証に失敗するという場合には、RSAによる暗号化をお試しください。
      $ ssh-keygen -t rsa -f 鍵の名前
      
  3. 鍵にパスフレーズを入力します。
    Enter passphrase (empty for no passphrase): xxxxxxxx
    
  4. '鍵の名前'という秘密鍵ファイルと'鍵の名前.pub'という公開鍵ファイルが作成されていることをご確認ください。
    秘密鍵ファイルは外部に漏洩すると不正ログインに利用されるので、大切に保管してください。

2. 公開鍵をサーバに登録する

以下はログインする先のリモートホストでの操作となります。

  1. 秘密鍵生成時に保存した公開鍵をアップロードします。
  2. クライアントのホームディレクトリ下の.sshディレクトリに移動します
    $ cd クライアントのホームディレクトリ/.ssh
    
  3. 公開鍵ファイルである'鍵の名前.pub'を公開鍵認証に用いる公開鍵として登録します。
    $ cat 鍵の名前.pub >> authorized_keys
    $ chmod 600 authorized_keys
    

3. 秘密鍵を使ってサーバにログインする

a. Windows の場合

ここでは PuTTY , または, Tera Term を利用したログイン手順を紹介します。

i. PuTTY の場合

  1. Connection > SSH > Auth と移動し、Brouse をクリックし、上で作成した秘密鍵'鍵の名前'を選択します。

  2. Session と移動し、Save ボタンでこの設定を保存しておくと次回以降の接続が簡単になります。

ii. Tera Term の場合

  1. 接続先のホスト名を入力してOKを押下後、次の画面が表示されます。
  2. ユーザ名と認証鍵に登録したパスフレーズを入力します。
    また、認証方式に「RSA/DSA/ECDSA/ED25519鍵を使う」を選択し、上の手順で生成した秘密鍵'鍵の名前'を指定します。

b. macOS, Linux(WSLも含む) の場合

  1. sshコマンドを使用する際に-iオプションで秘密鍵のパスを指定します。
    $ ssh -i ~/.ssh/鍵の名前 ログインするサーバ
    

最終更新日: 2026年10月20日

内容はここまでです。