CentOS 7 で ssh サーバを構築する基本設定


Posted by Akira Masuda on Sun, Aug 21, 2016
Tags ssh, centos

sshサーバに必要なセキュリティ設定

ssh サーバで基本的なセキュリティ設定といえば、

  1. ルートログインをoff
  2. パスワード認証をoff 、公開鍵認証を on
  3. ポート番号をデフォルトの22から 別の数字に変更する

ことが必要になります。

/etc/ssh/ssh_configを編集

ポート番号を変更する

sshのデフォルトポート番号である 22 はポートチェックなどでポートが開放されているかが調査され、攻撃がされやすいです。 そのため、sshを別のポート番号(ここでは 40293 )にするのが一般的です。

Centos7 firewall setting にもあるとおり、CentOS 7 からはポートのアクセス制御は iptableではなく、firewalld で行われるようになりました。

そこで、ポート番号を変更した後、firewalld で開放するポートの番号もデフォルトの22から変更する必要があります。 例えば、ssh のポートを 40293 に設定する場合、

# ssh の設定を解除する
sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --permanent --zone=public --add-port=40293/tcp
# firewall の設定を再読み込み
sudo firewall-cmd --reload

LAN内で接続を確認してから、ルータのポートを開放する

ここまでの設定で、構築した sshサーバと同一LAN内の別の端末から

# ssh -i <秘密鍵のパス> -p <開放したポート> <sshサーバでのユーザ名>@<ipアドレス>
ssh -i ~/.ssh/centos/id_rsa -p 40293  test@192.168.1.12

を実行して、接続できるかを確認しましょう。 失敗するときは必ず、sshサーバで sudo less /var/log/secure を行い、エラーを確認しましょう。

(ノートPCの人向け)sshサーバをノートPCで作る際の設定

ノートPCでsshサーバを構築する場合は、ノートPCを閉じたまま動作させる必要があります。 CentOS7でノートPCを閉じてもサスペンドさせない の記事を参考にして、

/etc/systemd/logind.conf の中の HandleLidSwitch という行のコメントを外して、

HandleLidSwitch=ignore

と設定することで、PCが閉じられるイベントを無視するようになります。(画面はPCによりますが、消灯します)

参考:

CentOS7 setting ssh のログを確認 Linux(systemd)を入れたノートPCを、閉じてもサスペンドさせないようにする Centos7 を CUIで起動 Linux(CentOS7)でSSHを利用する

comments powered by Disqus