公開鍵認証による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「4096」※ 非推奨
  3. ウィンドウにプログレスバーが出現したら、プログレスバーがいっぱいになるまで、ウィンドウ内でカーソルを適当に動かします。
  4. プログレスバーが消えて、いくつかの入力欄が出てきたら生成完了です。Key passphrase/Confirm Passphrase に、鍵に付けるパスフレーズを入力します。パスフレーズは省略可能ですが、設定することを強く推奨します。またアカウントのパスワードと同様、
    • ユーザ名と同じもの、ユーザ名をひっくりかえしただけのもの
    • 少ない桁数の数字(例えば4桁の数字)
    • 辞書に乗っている単語
    • 人名(姓のみ、名のみ、姓名・名姓)

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

  5. 「Save Private Key」ボタンをクリックして、秘密鍵を保存します。
    ※秘密鍵を他者に公開してはいけません。誤って公開してしまった場合は手順2.からやり直して、新たな鍵ペアを作成してください。
  6. 「Public key for pasting in to OpenSSH authorized_key file:」キャプションの下にある文字列(下図の赤線に囲まれた部分)が、フロントサーバに登録できる公開鍵です。メモ帳等のテキストエディタにコピー&ペーストし、「id.pub」などのファイル名で保存します。公開鍵登録の申請時にはこのテキストファイルを提出してください。

公開鍵の登録

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

公開鍵認証による SSH 接続

PuTTY を起動し、「Connection」>「SSH」>「Auth」の「Private key file for authentication」入力欄に保存した秘密鍵ファイルを設定します。
(「Connection」>「SSH」>「Auth」>「Credentials」>「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 4096bits 鍵の場合 ※ 非推奨
ssh-keygen -t rsa -b 4096

ここでは 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 <秘密鍵ファイルのパス> <情報科学センターアカウントのユーザ名>@<接続サーバ名>