====== SSH ====== ===== 概要 ===== * サーバにセキュアに接続するためのツール、及びそのプロトコル * ここでは、ツールのサーバ側について説明 → クライアント側については [[Linux/コマンド:ssh]] を参照 ===== サーバ側の設定 ===== * 設定ファイルは /etc/ssh/sshd_config ==== 公開鍵認証の設定 ==== * パスワードによるログインではなく、公開鍵認証によりログインするための設定 * サーバ設定を先にすると、ログインできずに泣くことになるので、事前に公開鍵をサーバに登録しなければならない - 公開鍵、秘密鍵の生成 → [[サーバ関連:ssh-keygen]] を参照 - 公開鍵をサーバに登録 * 公開鍵の内容をサーバの ~/.ssh/authorized_keys に追記する * ssh-copy-id を使う (簡単)\\ $ ssh-copy-id -i keyName.pub User@Server * 基本は ssh に似ている * -i **keyName.pub**: 登録する公開鍵ファイルを指定 (ない場合は、デフォルトで生成する id_rsa.pub が指定される) * User: サーバのユーザ名 * Server: サーバ名 * 手動で登録 - サーバにログイン - ~/.ssh/authorized_keys をエディタで開く (ない場合は新規作成) - クライアント側にある公開鍵ファイルをエディタで開く - クライアント側の公開鍵ファイルの内容をサーバ側の authorized_keys に追記する形で、コピペ - セキュリティを高めるため、以下の権限変更をする\\ $ chmod 700 ~/.ssh $ chmod 600 ~/.ssh/authorized_keys * トリッキーなワンライナーでの方法\\ $ cat ~/.ssh/keyName.pub | ssh User@Server 'cat >> ~/.ssh/authorized_keys' * scp で公開鍵を転送し、追記\\ $ scp ~/.ssh/keyName.pub User@Server:~ $ ssh User@Server $ cat ~/keyName.pub >> ~/.ssh/authorized_keys - 公開鍵認証で接続できるか確認\\ $ ssh User@Server * 公開鍵生成でパスワードを設定しない場合は、パスワード無しで接続できる * 公開鍵生成でパスワードを設定した場合は、その際のパスワードで接続できるか確認 - パスワード認証の無効化 (/etc/ssh/sshd_config の編集)\\ PasswordAuthentication no ChallengeResponseAuthentication no - サーバのリスタート\\ $ sudo service ssh restart ==== 参考サイト ==== * [[http://qiita.com/iruseira/items/af8550fea92b5c5f7fca | ssh公開鍵認証設定まとめ - Qiita]] {{tag>Linux サーバ}}