公開鍵認証によるSSH接続

情報科学センターのフロントサーバは、公開鍵認証による SSH 接続をサポートしています。特に、学外からフロントサーバへ SSH 接続する場合は公開鍵認証が必須になっています。
このページで、公開鍵認証による SSH 接続の設定方法を解説します。

Windows の場合

SSH 接続用ソフトウェアのインストール

鍵ペア(公開鍵・秘密鍵)の作成や、SSH 接続を行うために、SSH 接続ソフトウェアをインストールする必要があります。
ここでは PuTTY を用いた方法を説明します。

鍵ペアの作成

  1. 「すべてのプログラム」→「PuTTY」から、「PuTTYgen」を選択して起動します。
  2. 「Parameters」グループの設定欄を以下のいずれかにして「Generate」ボタンをクリックします。
    • Type of key to generate「ED25519」
    • Type of key to generate「ECDSA」Curve to use for generating this key「nistp521」
    • Type of key to generate「RSA」Number of bits in a generated key「2048」
  3. ウィンドウにプログレスバーが出現したら、プログレスバーがいっぱいになるまで、ウィンドウ内でカーソルを適当に動かします。
  4. プログレスバーが消えて、いくつかの入力欄が出てきたら生成完了です。Key passphrase/Confirm Passphrase に、鍵に付けるパスフレーズを入力します。パスフレーズは省略可能ですが、設定することを強く推奨します。またアカウントのパスワードと同様、
    • ユーザ名と同じもの、ユーザ名をひっくりかえしただけのもの
    • 少ない桁数の数字(例えば4桁の数字)
    • 辞書に乗っている単語
    • 人名(姓のみ、名のみ、姓名・名姓)

    に該当するパスフレーズを付けないようにしてください。

  5. 「Save Private Key」ボタンをクリックして、秘密鍵を保存します。
  6. 「Public key for pasting in to OpenSSH authorized_key file:」キャプションの下にあるテキストが、フロントサーバに登録できる公開鍵です。メモ帳などにコピペし、「id.pub」などのファイル名で保存します。

公開鍵の登録

公開鍵認証を行うにはフロントサーバに公開鍵を登録する必要があります。
こちらから公開鍵ファイルを添付・申請してください。

公開鍵認証による SSH 接続

PuTTY を起動し、「Connection」>「SSH」>「Auth」の「Private key file for authentication」入力欄に保存した秘密鍵ファイルを設定します。
接続ホスト名などを設定し、「Open」ボタンをクリックで接続を開始します。接続の際、鍵に設定したパスフレーズの入力を求められますので、入力してください。

Mac・UNIX 系 OS(macOS, Linux ディストリビューション, *BSD など)の場合

ここでは OpenSSH を使用した方法を説明します。インストールされていない場合は OS のマニュアルを参照してインストールしてください。

鍵ペアの作成

端末を開いて、いずれかのコマンドを実行します。

ED25519 鍵の場合
ssh-keygen -t ed25519
ECDSA 521bits 鍵の場合
ssh-keygen -t ecdsa -b 521
RSA 2048bits 鍵の場合
ssh-keygen -t rsa -b 2048

ここでは ED25519 鍵の場合を入力したとして進めていきます。
鍵の保存ファイル名を求めるプロンプトが表示されたら、そのままにするか、適当なファイル名を入力します。ここではそのまま(<ホームディレクトリ>/.ssh/id_ed25519)にしておきます。

Generating public/private rsa key pair.
Enter file in which to save the key (<ホームディレクトリ>/.ssh/id_ed25519):

鍵のパスフレーズを求めるプロンプトが表示されたら、パスフレーズを入力します。一度入力すると確認の入力を求められるので、同じパスフレーズを入力します。

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

パスフレーズは省略可能ですが、設定することを強く推奨します。

またアカウントのパスワードと同様、

  • ユーザ名と同じもの、ユーザ名をひっくりかえしただけのもの
  • 少ない桁数の数字(例えば4桁の数字)
  • 辞書に乗っている単語
  • 人名(姓のみ、名のみ、姓名・名姓)

に該当するパスフレーズを付けないようにしてください。

鍵の生成に成功すると、以下の情報が表示されます。

  • 秘密鍵の保存先(<ホームディレクトリ>/.ssh/id_ed25519)
  • 公開鍵の保存先(<ホームディレクトリ>/.ssh/id_ed25519.pub)
  • 鍵のフィンガープリント(※人間が視覚的に鍵の同一性を確認するためのもの)
  • 鍵のランダムアート(※人間が視覚的に鍵の同一性を確認するためのもの)
Your identification has been saved in <ホームディレクトリ>/.ssh/id_ed25519.
Your public key has been saved in <ホームディレクトリ>/.ssh/id_ed25519.pub.
The key fingerprint is:
<鍵のフィンガープリント>
The key's randomart image is:
<鍵のランダムアート>

これで鍵の生成は完了です。

公開鍵の登録

公開鍵認証を行うにはフロントサーバに公開鍵を登録する必要があります。
こちらから公開鍵ファイルを添付・申請してください。

公開鍵認証によるSSH接続

端末を開いて、以下のコマンドを実行します。パスフレーズの入力を求められますので、鍵を作成したときのパスフレーズを入力してください。

$ ssh -i <秘密鍵ファイルのパス> <情報科学センターアカウントのユーザ名>@<接続サーバ名>