スライド 1

公開鍵認証方式の実習
Puttyの場合
実習手順
• ファイル転送ソフトWinSCPのインストール
• Key Pair(公開鍵、秘密鍵)の作成
• 公開鍵のサーバへの登録
• 公開鍵を使った認証
• 二人、もしくは三人で公開鍵を互いに交換し、
一時的に他人のログインを許可する実験
– あくまで実験です。
ファイル転送ソフト WinSCP を
インストール
• 以下のサイトからダウンロードページへ
http://winscp.net
• Installation Package をダウンロード
• ダウンロードしたファイルを実行してインスト
ール
– インタフェーススタイルは「エクスプローラスタイル
」がおすすめ
Key Pairの作成
• PuttyGen をダウンロード
http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe
• puttygen.exeを実行
– Generateをクリック
– 鍵が作成されるまでマウスを適当に動かし続ける
– メモ帳を開き、
Public key for pasting into OpenSSH authorized_keys file
の中の文字列を張り付けた後、改行
– 適当な名前を付けて保存(公開鍵ファイル)
– Key passphrase に好きな文字列を入力
• Confirm passphrase にも同じ文字列を入力
– Save Private Key で秘密鍵を保存
• 公開鍵、秘密鍵はデスクトップなどのわかりやすい場所に
保存すると便利
公開鍵のサーバへの転送
• WinSCPを起動
• psihexa.cc.kyushu-u.ac.jpに接続
– TeraTermのときと同じ ID, パスワード
• WinSCPのウィンドウにサーバ側のホームディ
レクトリが表示されるので、PC側の公開鍵の
ファイルをドラッグアンドドロップ
公開鍵のサーバへの登録
• Puttyで psihexa.cc.kyushu-u.ac.jpにログイン
– このときは、まだ普通のパスワードを利用
• 以下を実行
cat 公開鍵のファイル名 >>
• いったんログアウト
.ssh/authorized_keys
公開鍵暗号方式を使ったログイン
• Puttyを起動
• ホストを入力
• Connection (接続) -> SSH -> Auth (認証)で
Private key file for authentication (秘密鍵)
として、作成した秘密鍵ファイルを指定
• Session で Saved Session に適当な名前(例えば
psihexa) を入力し、Saveをクリック
– 次回から、ここで psihexaを Loadするだけで秘密鍵の情報
が設定される
• Openをクリック
• ユーザ名を入力
• 「パスフレーズ」に、Key Pair生成時のパスフレーズを
入力
ここまでのまとめ
• 従来のパスワードによるログインではなく、
公開鍵暗号方式によるログインができるように
なった。
• すなわち、公開できない情報をネットワークに
一切流すことなく、認証ができるようになった。
– パスフレーズは、PC内で秘密鍵を開くために必要
なものであり、ネットワークには流れない
二人組もしくは三人組での実験
• 注意:
– これは、公開鍵暗号方式の性質を理解する目的
で一時的に試すものであり、他人に自分のIDを貸
すことは禁止です。
– 実験終了後は、速やかに相手の公開鍵の情報を
authorized_keysの中から削除してください。
公開鍵の交換
• 相手を見つける
• 公開鍵を相互に交換する
– 手段はUSBメモリでもメールでも良い
– 秘密鍵を渡さないように注意
• 相手の公開鍵をサーバに転送し、登録
– 自分の公開鍵を登録した時と同じ操作
実験
• 相手の IDでサーバにログインできることを確認
• 相手も自分の IDでログインできることを確認したら、
.ssh/authorized_keys を編集し、2番目以降のエントリ
を削除
– emacs などを利用
一番上は
残す
それ以外
は削除
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtt7LASeAp7ygzUx0366Ty+Krf7eVD80/7kbb0Uf437tWRXsZmKLs9
...
hqpFT3M3cdCCubuq11wGah72CEKtQXMzt87DuGhBnQRRVYeepQ== [email protected]
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApPWVGHlMEg6xUa+9WcWoYDZGH1gqJvkHLKtVU2vZyM8KUGm
...
DXIcgV74YdIPEkBLfTyion3AfgrQ== tn@tn-VAIO
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAqS+Yab6IMpAPy1gg5nigxCZrFFg0Ffi+3PrWTDCS/RF3bhoQHCJC
...
kRCWo4stuVKHMFe88RapE= rsa-key-20111126
まとめ
• 他人に見られても構わない公開鍵を渡すだ
けで、アクセスを許可してもらうことができる。
– 許可する側は、公開鍵が本人のものであることを
何らかの方法で確認する。
• 必ず対面で渡す、等。
• ユーザ登録等に利用可能。