SSHの設定
Solaris 11 x64 VPS/クラウド SSHの設定
初期出荷時では、SSHサーバは以下の設定となっています。
- パスワード認証:可
- キーボードインタラクティブ認証:可
- 公開鍵認証:可
- rootログイン:不可
ここでは、公開鍵認証のみを許可することにより、セキュリティを高めるための設定例をご案内します。
パスワード認証はセキュリティ上非常に危険です。 公開鍵認証のみに設定することを強くお勧めいたします。 |
---|
秘密鍵と公開鍵の作成
あらかじめ、クライアントや他のサーバで秘密鍵と公開鍵を作成しておきます。
※公開鍵を配置するサーバで鍵を作成することは、セキュリティ上好ましくありません。他の端末で行うことをお勧めいたします。
作成例
$ ssh-keygen -t rsa -b 4096
公開鍵を配置する
作成された2つの鍵のうち、公開鍵を以下のように配置します。
パーミッション | ||
---|---|---|
ディレクトリ名 | [home dir]/.ssh | 700 |
ファイル名 | authorized_keys | 600 |
- 公開鍵を複数登録する場合は、1行に1つの公開鍵を記述します。
配置例
$ mkdir -m 700 ~/.ssh $ echo "[公開鍵]" >> ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys
公開鍵認証を確認する
現在のターミナルは開いたまま、公開鍵認証でログインできるかを確認します。
ログインできることを確認してから、SSHサーバの設定へ進んでください。
SSHサーバの設定
sshサーバの設定は、/etc/ssh/sshd_configを編集します。viなどのエディタで開き、以下を変更して保存します。
この操作は、管理者権限が必要です。
パスワード認証の変更
「yes」を「no」に変更します。
PasswordAuthentication yes ↓ PasswordAuthentication no
キーボードインタラクティブ認証の変更
以下の1行を追記します。
KbdInteractiveAuthentication no
設定確認
この操作は、管理者権限が必要です。
設定確認は以下のコマンドで可能です。
# /usr/lib/ssh/sshd -t
SSHサーバの再起動
設定を変更したら、SSHサーバを再起動して反映します。
この操作は、管理者権限が必要です。
# svcadm restart svc:/network/ssh:default
再起動後、正常にSSHサーバが動作しているかを確認します。
# svcs -l svc:/network/ssh:default fmri svc:/network/ssh:default name SSH server enabled true state online next_state none state_time Fri Feb 10 15:00:00 2013 logfile /var/svc/log/network-ssh:default.log restarter svc:/system/svc/restarter:default (省略)
確認事項
- stateがonlineになっているか。
- maintenanceになっている場合は、起動に失敗しています。設定を確認の上、以下のコマンドで再起動してください。
# svcadm clear svc:/network/ssh:default
- state_timeが再起動した時刻になっているか。
ターミナルを開き、パスワード認証とキーボードインタラクティブ認証が無効になっていることを確認して完了です。