公開鍵認証方式の実習 TeraTermの場合
実習手順 ファイル転送ソフトWinSCPのインストール Key Pair(公開鍵、秘密鍵)の作成 公開鍵のサーバへの登録 公開鍵を使った認証 二人、もしくは三人で公開鍵を互いに交換し、 一時的に他人のログインを許可する実験 あくまで実験です。
ファイル転送ソフト WinSCP を インストール 以下のサイトからダウンロードページへhttp://winscp.net Installation Package をダウンロード ダウンロードしたファイルを実行してインストール インタフェーススタイルは「エクスプローラスタイル」がおすすめ
Key Pairの作成 TeraTerm Proでの Key Pair 作成: 鍵はデスクトップなどのわかりやすい場所に保存すると便利 TeraTermを起動後、 Cancel をクリック メニューの Setup から SSH KeyGeneratorをクリック Generateをクリック Passphraseを入力 好きな文字列を入力 Save Public Key で公開鍵保存 Save Private Key で秘密鍵保存 鍵はデスクトップなどのわかりやすい場所に保存すると便利
公開鍵のサーバへの転送 WinSCPを起動 psihexa.cc.kyushu-u.ac.jpに接続 TeraTermのときと同じ ID, パスワード WinSCPのウィンドウにサーバ側のホームディレクトリが表示されるので、PC側の公開鍵のファイルをドラッグアンドドロップ
公開鍵のサーバへの登録 TeraTerm Proで psihexa.cc.kyushu-u.ac.jpにログイン このときは、まだ普通のパスワードを利用 以下を実行 cat 公開鍵のファイル名 >> .ssh/authorized_keys いったんログアウト
公開鍵暗号方式を使ったログイン TeraTerm Proを起動 キャンセル をクリック 設定 -> SSH認証で OK キャンセル をクリック 設定 -> SSH認証で ユーザ名を入力 「RSA/DSA鍵を使う」をチェック 「秘密鍵」をクリックして、作成した秘密鍵ファイルを選択 OK 設定 -> 設定の保存 TeraTerm Proを一旦閉じて、再度起動 ホスト名を入力し、OK 鍵生成時のパスフレーズを入力し、OK
ここまでのまとめ 従来のパスワードによるログインではなく、 公開鍵暗号方式によるログインができるようになった。 すなわち、公開できない情報をネットワークに一切流すことなく、認証ができるようになった。 パスフレーズは、PC内で秘密鍵を開くために必要なものであり、ネットワークには流れない
二人組もしくは三人組での実験 注意: これは、公開鍵暗号方式の性質を理解する目的で一時的に試すものであり、他人に自分のIDを貸すことは禁止です。 実験終了後は、速やかに相手の公開鍵の情報をauthorized_keysの中から削除してください。
公開鍵の交換 相手を見つける 公開鍵を相互に交換する 相手の公開鍵をサーバに転送し、登録 手段はUSBメモリでもメールでも良い 秘密鍵を渡さないように注意 相手の公開鍵をサーバに転送し、登録 自分の公開鍵を登録した時と同じ操作
実験 相手の IDでサーバにログインできることを確認 相手も自分の IDでログインできることを確認したら、 .ssh/authorized_keys を編集し、2番目以降のエントリを削除 emacs などを利用 一番上は 残す ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtt7LASeAp7ygzUx0366Ty+Krf7eVD80/7kbb0Uf437tWRXsZmKLs9 ... hqpFT3M3cdCCubuq11wGah72CEKtQXMzt87DuGhBnQRRVYeepQ== nanri@gwin.cc.kyushu-u.ac.jp ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApPWVGHlMEg6xUa+9WcWoYDZGH1gqJvkHLKtVU2vZyM8KUGm ... DXIcgV74YdIPEkBLfTyion3AfgrQ== tn@tn-VAIO ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAqS+Yab6IMpAPy1gg5nigxCZrFFg0Ffi+3PrWTDCS/RF3bhoQHCJC ... kRCWo4stuVKHMFe88RapE= rsa-key-20111126 それ以外 は削除
まとめ 他人に見られても構わない公開鍵を渡すだけで、アクセスを許可してもらうことができる。 ユーザ登録等に利用可能。 許可する側は、公開鍵が本人のものであることを何らかの方法で確認する。 必ず対面で渡す、等。 ユーザ登録等に利用可能。