CentOS7のSSHの設定

SSHの設定はポリシー的なところ大きいので設定の仕方というご案内はできないんですが、だいたいこんなルールでやってます。

  • Rootのログインは基本禁止。*但し鍵認証+IP制限が可能であればOK。問題は鍵の管理になります。
  • パスワード認証は基本禁止。鍵認証推奨。*とはいえ「なんでパスワードでログインできないの?」って言われます。
  • ポートは22じゃない方がいい。4桁ぐらいの使っていないポート。
  • SSH1とかは使わない。

あとはデフォルトのままでいいと思う。

インストールと設定

CentOS7のデフォルトかどうかわからないけど、クラウドサーバとかVPNとかだと、OpenSSH_6.6.1p1がインストールされているっぽい。これちょっと古いです。
最新にしたい方はOpenSSHを最新にバージョンアップ CentOS6でやってみてください。CenOS7でもいけると思います。くれぐれもコンパネとかからログインできるコンソール画面やtelnetなどで繋いでやってください。
なのでインストールは割愛。
また鍵の設定とかも別項で。iptablesとかFirewallとかhosts.allowとかでその他の設定はいろいろ後でやることになるので、ここでは基本的な設定のみ。

sshd_configの設定

# 12: コメント外して22 → 7648
Port 7648
# 80: yesをコメントアウトしてnoのコメント外す
PasswordAuthentication no

その他はデフォルトでよいかと。
ちなみにポートを変更するとたぶんiptableとかfirewall関連も変更が必要になると思います。

再起動

systemctl restart sshd.service

待ち受けポートの確認

ss -t -l -n
State      Recv-Q Send-Q                   Local Address:Port                                  Peer Address:Port
LISTEN     0      128                                  *:7648                                              *:* ← 設定したポートが開いている
LISTEN     0      100                          127.0.0.1:25                                               *:*
LISTEN     0      128                                 :::3949                                            :::*
LISTEN     0      128                                 :::80                                              :::*
LISTEN     0      100       

プロセス確認

ps aux | grep "sshd"
root      3129  0.0  0.4 110244  4472 ?        Ss   23:07   0:00 sshd: root@pts/0
root      3155  0.0  0.3 105480  3980 ?        Ss   23:09   0:00 /usr/sbin/sshd -D
root      3200  0.0  0.1  22672  1604 pts/0    S+   23:28   0:00 vi sshd_config
root      3203  0.0  0.4 110112  4468 ?        Ss   23:40   0:00 sshd: root@pts/1
root      3231  0.0  0.0   9032   660 pts/1    S+   23:43   0:00 grep --color=auto sshd
Last update: 2017.07.15 (土)