スライド 1

公開鍵認証方式の実習
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認証で
– ユーザ名を入力
– 「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== [email protected]
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApPWVGHlMEg6xUa+9WcWoYDZGH1gqJvkHLKtVU2vZyM8KUGm
...
DXIcgV74YdIPEkBLfTyion3AfgrQ== tn@tn-VAIO
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAqS+Yab6IMpAPy1gg5nigxCZrFFg0Ffi+3PrWTDCS/RF3bhoQHCJC
...
kRCWo4stuVKHMFe88RapE= rsa-key-20111126
まとめ
• 他人に見られても構わない公開鍵を渡すだ
けで、アクセスを許可してもらうことができる。
– 許可する側は、公開鍵が本人のものであることを
何らかの方法で確認する。
• 必ず対面で渡す、等。
• ユーザ登録等に利用可能。