sshの設定ファイルはクライアント用とサーバー用があるので気をつけようという話
レンタルサーバーを契約して、リモートホストにログインする方法を学びました。
その際、勘違いからsshの設定にめちゃくちゃ手こずったという話です。
前提条件
クライアント:MacBook Air / macOS Mojave 10.14.5
サーバー:さくらVPS / Debian 9.9
双方sshをインストールして、鍵認証も済ませた状態
問題:ポート番号が変更できない
リモートアクセス時のポート番号は22がデフォルトとなっていますが、このままにしておくと悪意あるロボットのアクセスを許してしまう場合があるため、ポート番号を変更しようとしました。 その際の手順は下記の通り。
かんたーんと思って意気揚々とクライアント側からssh -p [設定したポート番号] [サーバーのアドレス]
するも、繋がらない・・・。
試しに、ssh [サーバーのアドレス]
してみると繋がる。
つまりポート番号が変更されていない!
結論:編集する設定ファイルを間違えていた
/etc/ssh/ssh_configは、クライアント用の設定ファイル。
今回はサーバー側の設定を変えたかったので、編集すべきは/etc/ssh/sshd_configです。
こちらを編集したら問題なくポート変更できました。
ちょっと恥ずかしい。。。
ちなみに、クライアント側の設定ファイルでポート番号を変えると、sshで-p
オプションを設定しなかった場合のポート番号が変更される模様。
補足:/etc/default/ssh というのもあった
試行錯誤している中で、/etc/default/ssh というファイルを見つけました。こいつの中のSSHD_OPTS=
の後に、"Port [適当な番号]"
と書き足してみたところ、これでもポート番号が変更できました。
設定ファイルの中で読み込まれるものらしいのですが、どんな風に使うのが本来の思想なのかは不明。