SSH(Secure SHell) 公開鍵認証の設定方法 担当講師 株式会社パソコンスクールISA 八鍬 芳明 http://www.isa-school.net/ 1 従来のネットワーク通信とSSH インターネットを経由した攻撃が近年急増している SSHは暗号化を利用して、安全に通信を行うためのツール 2 OpenSSHのしくみ ユーザのログイン手順 1. ホスト認証 サーバが本物かを確かめる(クライアントから) なりすましの防止 暗号化 復号 偽サーバの可能性 クライアント 2. ユーザ認証 ユーザにログイン資格があるか確かめる(サーバから) 3 ホスト認証のしくみ 公開鍵暗号によるホスト認証 公開鍵と秘密鍵 公開鍵で暗号化 ⇒ 秘密鍵で復号 秘密鍵で暗号化 ⇒ 公開鍵で復号 4 ホスト認証の流れ ②サーバの 公開鍵で暗号化 暗号化された チャレンジコード ③サーバの 秘密鍵で復号 Ai3!&#% 復号した チャレンジコード ①チャレンジコードの生成 fgi@82$1 fgi@82$1 ④チャレンジコード にセッションIDを追 e4a094fd2 加し、MD5ハッシュ 値を求める ⑥ ④と同じ手順 クライアント e4a094fd2 ⑦比較 e4a094fd2 ⑤ハッシュ値をクライアントへ送信 5 サーバ ユーザ認証のしくみ 公開鍵暗号をつかったユーザ認証 6 OpenSSHの設定手順 1. 2. 3. クライアント側でユーザ認証用の公開鍵と秘密鍵 のペアを生成する 生成した公開鍵をサーバに登録する クライアントからサーバにログインする 7 1.公開鍵と秘密鍵ペアの生成 ユーザの公開鍵 クライアント側で操作 ユーザの鍵の生成 1.ユーザ鍵の生成 $ ssh-keygen –t rsa id_rsa クライアント 鍵ファイルの確認 $ ls –la ~/.ssh/ /.ssh/ディレクトリ ./ 秘密鍵ファイル id_rsa 公開鍵ファイル id_rsa.pub id_rsa.pub パスフレーズで暗号化 されたユーザの秘密鍵 drwx-----所有者のみ読み書き実行可 -rw------所有者のみ読み書き可 -rw-r--r-8 2.公開鍵のサーバへの登録 サーバ側で操作 $ mkdir ~/.ssh/ $ cat id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 755 ~/.ssh/ $ chmod 644 ~/.ssh/authorized_keys 9 3.サーバへのログイン リモートホストへの接続 $ ssh –l lpi localhost.localdomain $ ssh [email protected] $ ssh localhost.localdomain (ローカルとリモートのユーザ名が同じ場合) sshdサーバ 安全なSSHプロトコル localhost.localdomain 10 主なOpenSSH関連ファイル クライアント側 サーバの公開鍵の一覧 ~/.ssh/known_hosts ~/.ssh/id_rsa ユーザの秘密鍵ファイル サーバ側 ~/.ssh/authorized_keys /etc/ssh/sshd_config /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key.pub 11 ユーザの公開鍵一覧 sshdサーバの設定ファイル ホストの秘密鍵ファイル ホストの公開鍵ファイル 【補足】WindowsからSSHサーバへの接続 PuTTY クライアント側での操作 http://hp.vector.co.jp/authors/VA024651/ PuTTYgenを利用してユーザ鍵のペアを生成する (例)公開鍵:putty_rsa.pub 秘密鍵:putty_rsa.pkk サーバ側での操作 ユーザの公開鍵をサーバに転送し、OpenSSHが使 用可能な形式に変換する $ ssh-keygen -i -f putty_rsa.pub > putty.pub 変換した公開鍵をauthorized_keysに登録する $ cat putty.pub >> ~/.ssh/authorized_keys 12
© Copyright 2024 Paperzz