SSHのポート番号変更とSELinuxの弊害
2015/02/27
よく、巷ではSSHのポート番号はサーバー建てたら真っ先に変更しろ、とか言われます。
それもそのはず、サーバーがネットワークに接続されていたら外部からSSHを使用して自由自在にサーバーにアクセスできるからですね。
そのポート番号が他に予約がされていない(1024~65535)にしろ、とか言われます。
多分、このあたりなら何も制限がかからないのでしょうが、予約済み(0~1023)にすると、「SELinux」によって弾かれてしまいます。
自分は、ネットワークの都合でこの予約済みのポートを使わなかければならず、いろいろ試行錯誤しました。
とりあえずここでは、SSHのポート番号変更とSELinuxへの対処を紹介します。
SSHのポート番号変更
SSHのポート番号の変更は「/etc/ssh/sshd_config」ファイルを編集することで行えます。
17行目くらいに「Port」があるので、この数字を設定します。
# OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options override the # default value. # If you want to change the port on a SELinux system, you have to tell # SELinux about this change. # semanage port -a -t ssh_port_t -p tcp #PORTNUMBER # Port 123 #←ポート番号の設定 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: # The default requires explicit activation of protocol 1 #Protocol 2 # HostKey for protocol version 1 #HostKey /etc/ssh/ssh_host_key # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key #HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key
そしてファイルを保存し、sshdを再起動します。
CentOS7では「systemctl」を使用して再起動するので、
$ systemctl restart sshd
とすれば良いです。
SELinuxへの対処
SELinuxが起動している状態で、ポート番号を予約済みのもので設定してしまうと、
PCname:~ enotai$ ssh -p 123 root@103.3.188.90 ssh: connect to host 103.3.188.90 port 123: Connection refused
となり、通信を拒否されてしまいます。
それもそのはず、TCPの123番は標準状態ではntpdが使用しているので、sshdが来るとSELinuxに「お前は何者だ!」と言われ弾かれてしまいます。
無効化は先日の記事で行えるので参考にしてみてください。
無効化を行うと、アクセスできるようになります。
googleadsense336
googleadsense336
関連記事
-
[SSH] SSHしようとしたらちょっと脅された話
とは言ってもいうほどでもないです(笑) enotaiMacbookAir:~ e …
-
[SSH] ダウンロードしたSSHキーのパーミッションを正しく設定し直す
お名前.comのVPSでは、コントロールパネルからsshの共通鍵をダウンロードで …