====== 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 サーバ}}