22番以外のポートでssh接続できるまでにまあまあ時間をとられたので、メモを残します。
全体像
- sshの設定
- firewalledの設定
- SELinuxの設定
- sshで接続
centos6で使われていたiptableがcentos7では使われなくなり、代わりにfirewalledとSELinuxのポート設定を変更する必要があります。
この記事では2345番ポートにssh接続することを目的として、設定方法を説明します。
sshの設定
sshのconfigファイルを開きます。sudo vi /etc/ssh/sshd_config
下記の行を追加します。
/etc/ssh/sshd_config
Port 2345
sshを再起動します。
sudo service sshd restart
firewalledの設定
iptableの代わりに使われるようになったfirewalledというファイヤーウォールプログラムの設定を変更します。2345番ポートtcpとして追加します。
sudo firewall-cmd --add-port 2345/tcp --permanent
firewalledを再起動します。
sudo firewall-cmd --reload
「2345/tcp」が有効になっていることを確認します。
sudo firewall-cmd --list-all
SELinuxの設定
SELinuxのポート設定を変更します。設定変更には「semanage」というプログラムを使うのですが、デフォルトではインストールされていません。
インストールされていない理由を探してみたのですが、よく分かりませんでした。
理由を把握されている方が居らっしゃれば、教えて頂けると嬉しいです。
下記のコマンドで「semanage」をインストールします。
sudo yum install policycoreutils-python
2345番のtcpポート設定をsshのために追加します。
sudo semanage port -a -t ssh_port_t -p tcp 2345
使わなくなった22番ポートを削除しようとしたのですが、システムに標準で定義されているためか、削除できませんでした。
sudo semanage port -d -t ssh_port_t -p tcp 22
sshポートを確認します。
sudo semanage port -l | grep ssh
sshで接続
ssh、firewalled、SELinuxの設定がうまくいけば、2345ポートに対してssh接続出来るようになると思います。ローカルのPCで接続を試みてください。
ssh [username]@[server host] -p 2345
以上です。
参考になれば嬉しいです。
参考
sshd_conf設定変更の参考にしました。さくらVPS/Cent OS 6.4 初期状態から鍵認証SSHでの接続まで[Railsサーバへの道]
centos公式のwikiです。
firewall-cmdの使い方の参考にしました。
Securing OpenSSH
firewall-cmdの使い方の参考にしました。
sesmanageインストール方法の参考にしました。
centos公式のwikiです。
sesmanageのコマンドの使い方の参考にしました。
全体の流れの参考にしました。
0 件のコメント :
コメントを投稿