ファイアウォール設定

CentOS7ではfirewalldというプログラムでファイアウォールの設定を行います。

ファイアウォールとは

現在の設定の確認方法

sudo firewall-cmd --list-services

こちらで、現在firewalldがどのサービスを許可しているかを確認することが可能です。

sshのポートを変更する

現在のsshに関する設定ファイルをもとに、新しいファイルを作成します。 まずは、現在のsshの設定ファイルをコピーします。

sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh_edited.xml

コピーされた /etc/firewalld/services/ssh_edited.xml を編集し、sshで利用するポートを22番から任意の値に変更します。

sudo vim /etc/firewalld/services/ssh_edited.xml

49152 ~ 65535の範囲でゾロ目などを避けた任意の値を設定しましょう。

ssh_edited.xml

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
  <port protocol="tcp" port="22"/>
</service>

上記の

<port protocol="tcp" port="22"/>

の箇所を

<port protocol="tcp" port="[設定するポート番号]"/>

に変更します。 10022や2222などは、推測されやすいので避けましょう。

firewalldに設定を登録

sudo firewall-cmd --add-service=ssh_edited --permanent

さらに、firewalldを再起動して設定を反映させます。

sudo firewall-cmd --reload
sudo firewall-cmd --list-services

とすると現在の設定一覧が表示されます。ssh_editedが含まれていることを確認しておきましょう。

ssh接続設定の書き換え

まず、VPS側の設定として、sshd_configを書き換えます。

sudo vim /etc/ssh/sshd_config

Port設定を行なっている箇所のコメントアウトを外し、先ほど設定したポート番号に変更します。

Port [設定したポート番号]

さらに sshを再起動して設定を反映させましょう。

sudo systemctl restart sshd.service

続いて、PC側のconfigを変更します。 別のターミナルで

vim ~/.ssh/config

で設定ファイルを開き

~/.ssh/config

Host [任意の接続先名(conoha_wordpressなど)]
  HostName [VPSのIPアドレス]
  User [作成したユーザー名]
  Port [設定したポート番号]
  IdentityFile ~/.ssh/[鍵名]

のようにポート番号を変更しましょう。

ここまで完了したら、改めて

ssh [接続先名]

で接続してみましょう。

[ポート番号]: Connection Refused などが表示される場合には、sshdの再起動を行なったかどうか確認しておきましょう。

元のssh設定の削除

これで、sshでの接続は新しく作成したssh_editedという設定で行うようになったため、元のssh設定は不要になります。

sudo firewall-cmd --remove-service=ssh --zone=public --permanent

で設定を削除し、さらに

sudo firewall-cmd --reload

で設定を反映させましょう。

sudo firewall-cmd --list-services

でsshが設定から削除されていることを確認しておきましょう。

wordmoveの設定

最後に、wordmoveからのsshでの接続設定もしておきましょう。

Mac側の設定

Macのssh-agentに秘密鍵を登録します。

ssh-add -K ~/.ssh/[鍵名]

vagrant側の設定

続いて、Vagrantfileにある以下の行のコメントアウトを外します。

config.ssh.forward_agent = true

この状態で、vagrant upを行うと、vagrantからMacに保存された鍵ペアを利用できるようになります。

Movefile.ymlの編集

続いて、Movefile.ymlを編集してポート番号を変更後のものに設定します。

  ssh:
    host: "[VPSのIPアドレス]"
    user: "[作成したユーザー名]"
    port: [変更後のポート番号]
    rsync_options: --verbose

その上で、

cd /vagrant
wordmove push --all

で正しく設定されていれば、パスワード入力不要でwordpressがデプロイできるようになります。

results matching ""

    No results matching ""