SSH公開鍵認証のための準備

公開鍵認証の推奨について

情報メディア教育システムでは、SSH接続可能なLinuxサーバを提供しています。
ログインには名大IDとパスワードをご利用いただけますが、より安全に利用していただくため、公開鍵認証の使用を推奨します。

なお、本学のセキュリティ室ではセキュリティ強化の観点から、学外からのSSH接続について公開鍵認証の必須化が検討されています。今後、学外からは公開鍵認証でなければログインできなくなる可能性があります。

準備作業の概要

  1. 鍵ペアの生成
    • クライアント側(ログインする側)で、公開鍵と秘密鍵のペアを作成する。
  2. 公開鍵の登録
    • サーバに公開鍵をコピーし、認証可能な状態にする。
  3. ログイン時の認証
    • クライアントは秘密鍵を使ってサーバに接続する。
    • サーバは登録済みの公開鍵と照合し、ペアであることが確認できればログインを許可する。

鍵ペアの生成例(Windows 11)

Windows11 を例に説明する。

  1. PowerShell を起動し、鍵を保存するディレクトリを作成する。(既に存在する場合は省略可能)
  2. PS C:\Users\User> mkdir .ssh
  3. 鍵を生成する。例では「media」という名前で作成。
  4. PS C:\Users\User> ssh-keygen -t ed25519 -f .ssh/media
    Generating public/private ed25519 key pair.
    Enter passphrase (empty for no passphrase): <パスフレーズを入力
    Enter same passphrase again: <もう一度パスフレーズを入力
    Your identification has been saved in .ssh/media
    Your public key has been saved in .ssh/media.pub
    The key fingerprint is:
    SHA256:CcBXNijnhG5IINN84giN02yVUUiQVccn1a4cpsAHTF8 user@WinDev2407Eval
    The key's randomart image is:
    +--[ED25519 256]--+
    |+O.B*X++=.E.     |
    |=.@ B.B+oo. .    |
    |.* = B...o .     |
    |. o o +...o .    |
    |   .   oS+ o     |
    |        . o      |
    |                 |
    |                 |
    |                 |
    +----[SHA256]-----+
    
  5. 作成された鍵を確認する。今回は media が秘密鍵、 media.pub が公開鍵である。
  6. PS C:\Users\User> ls .ssh
    
    
        Directory: C:\Users\User\.ssh
    
    
    Mode                 LastWriteTime         Length Name
    ----                 -------------         ------ ----
    -a----        2025/07/14     11:29           3434 media <<秘密鍵
    -a----        2025/07/14     11:29            746 media.pub <<公開鍵
    
  7. 公開鍵の内容を確認し、コピーしておく。このあとSSH接続しサーバに登録する。
  8. PS C:\Users\User> cat .ssh/media.pub
    ssh-ed25519 AAAAC3 (以下省略) 
    

公開鍵のサーバへの登録

  1. 学内ネットワークからサーバへSSH接続する。引き続き PowerShell を使用する。
  2. PS C:\Users\User> ssh 名大ID@ssh.media.nagoya-u.ac.jp
    
  3. 公開鍵設置用ディレクトリを作成する。(存在する場合は省略可能)
  4. $ mkdir ~/.ssh
    
  5. 作成したディレクトリのパーミッションを変更する。
  6. $ chmod 700 ~/.ssh
    
  7. vi コマンドで authorized_keys ファイルを作成し、コピーしておいた公開鍵を貼り付けて保存する。
  8. $ vi ~/.ssh/authorized_keys
    

接続確認

秘密鍵を指定してSSH接続する。-i のオプションで秘密鍵を指定する。

PS C:\Users\User> ssh 名大ID@ssh.media.nagoya-u.ac.jp -i .ssh/media
Enter passphrase for key '.ssh/media': <秘密鍵のパスフレーズを入力
Last login: Mon Jul 14 11:53:27 2025 from XXX.XXX.XXX.XXX
[名大ID@edcs055 ~]$

補足:ssh-copy-id の利用(WSL)

Windows 11 に WSL(Ubuntu)がインストールされていれば、生成した公開鍵を ssh-copy-id コマンドで簡単に登録できる。

PS C:\Users\User> wsl --list
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu (既定)


PS C:\Users\User> wsl ssh-copy-id -i .ssh/media.pub 名大ID@ssh.media.nagoya-u.ac.jp
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/media.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
名大ID@ssh.media.nagoya-u.ac.jp's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '名大ID@ssh.media.nagoya-u.ac.jp'"
and check to make sure that only the key(s) you wanted were added.

以上