SSHのポート番号を指定して接続するときに手間取ったところがあったのでメモを残しておきます。
やりたいこと
- SSHのポート番号を22から56789に変更して接続する
- firewallもポート番号を56789に設定する
ポート番号の指定
まず、ターミナルでsshd_configを編集するので、以下を入力します。
$ sudo vim /etc/ssh/sshd_config
開いたファイルのなかで
Port 22
と記述されている箇所を
Port 56789
に変更します。
ターミナルで
$ sudo sshd -t
$ sudo systemctl restart sshd
とすると設定が反映されます。
次にfirewallの設定をしますが、ここでログアウトするとログインできなくなってしまうので注意しましょう。
firewallの設定
firewallで56789番ポートを許可します。
まずはfirewallについての設定が書かれているssh.xmlをコピーし、コピーしたものを編集していきます。以下のコマンドを打ちましょう。
$ sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-56789.xml
sudo vim /etc/firewalld/services/ssh-56789.xml
これによりssh.xmlをssh-56789.xmlという名前でコピーして編集できます。
以下のように記述されているものを
<port protocol="tcp" port="22"/>
次のように変更します。
<port protocol="tcp" port="56789"/>
これで設定ができたので以下のコマンドで設定を反映させます。
$ sudo firewalld-cmd --reload
$ sudo firewalld-cmd --permanent --add-services=ssh-56789
以下のように入力して設定が反映されているか確認しましょう
$ sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client ssh-56789 http https
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
servicesの項目にssh-56789が追加されているか確認しましょう。
動作確認
rLoginで56789番ポートに接続できるか確認します。
接続設定でTCPポートの設定がsshになっていると思いますが、そこを56789に変更して接続してください。
なにもエラーが出ずに接続できれば成功です。
つまづいたところ
私の場合、動作確認をした際に以下のようなエラーが出て接続できませんでした。
centos7 ssh2 user auth failure publickey status=0004 send disconnect message
公開鍵の認証に失敗しているようです。
Rloginを開いて編集→プロトコル→認証キー→作成を選び、新しく認証キーを作成します。
新たに作成されたものを選択して公開鍵を押すと、鍵となる文字列が表示されると思うので、それをコピーしておきます。
これを/.ssh/authorized_keysというファイルに貼り付けます。(このファイルは自分で作成する)
これで新しく鍵の設定が出来たので、エラーがなくなり接続できると思います。
参考にしたサイト
- Udemy はじめてのLinuxサーバー構築運用入門
- 【CentOS7】ssh接続,秘密・公開鍵でのアクセスができない