1. ホーム
  2. オペレーティングシステム
  3. Ubuntu/Debian

ubuntuでsshリモート接続のポート番号を変更するいくつかの方法

2022-01-16 18:08:37

一般的に

ssh設定ファイルを開く

sudo vim /etc/ssh/sshd_config

次の行を探します。

ポート22

最後の22を設定したいポート番号に変更する

その後、sshサービスを再起動します。

sudo サービス ssh 再起動

リモートでsshにログインする際にno route to hostと表示される場合は、該当するポートに対してファイアウォールが適切に設定されていないので、ファイアウォールを設定すれば問題ないです。

openssh-serverがインストールされていない場合は、次の手順を参照してください。

注意:リモートでポートを変更する場合、ポートを変更した後にリモートがSSHに接続できないようにするには、ポート22と新しく設定したポートの両方でSSHを使えるようにし、新しいポートに接続できることをテストした後にポート22をコメントアウトすればいいのです。

まず、openssh-server をインストールします。

<ブロッククオート

$ sudo apt-get install openssh-server

$ sudo vim /etc/ssh/sshd_config

ポート22の前の#を削除し、次の行に使用したいポートを追加してください。

<ブロッククオート

$ sudo vim /etc/ssh/ssh_config

ポート22の前の#を削除し、次の行に使用したいポートを追加してください。

変更を保存して、サービスを再起動します。

<ブロッククオート

$ /etc/init.d/ssh restart

または

$ service ssh restart

ファイアウォールで適切なポートを開き、テストしてください(sshは現在、ポート22と設定したポートの両方で動作することに注意してください、テストが終わったらポート22をコメントアウトすることができます)。

Ubuntu 16.04でsshポートを変更する

etc/ssh/sshd_config を変更します。

$sudo vim /etc/ssh/sshd_config

ポート22の下に自分のポートを追加する

ポート22
ポート YOUR_PORT

etc/ssh/ssh_config を変更し、Host * の下にあなたのポートを追加します。

<ブロッククオート

ホスト
ポート22
ポート お客様のポート
# ForwardAgent no
...

sshを再起動する

サービス ssh 再起動

そして、sshで新しいポートに接続し、接続に成功した後、上記の設定を変更して、ポート22をコメントアウトします。

次に、ローカルマシンの ~/.ssh/ の下に、以下の内容で新しい設定ファイルを作成します。

<ブロッククオート

ホスト名 YOUR_HOST
ユーザー名 YOUR_USER_NAME
ポート YOUR_NEW_PORT

こうすると、次の接続は単に YOUR_HOST を ssh するだけで、問題なく行えます。

git のリモート操作の中には、デフォルトの ssh ポートを変更すると失敗するものがあります。その解決策も、設定ファイルを

ホスト github.com
ホスト名 github.com
ポート番号 22
bitbucket.orgのホスト
ホスト名 bitbucket.org
ポート番号 22

もうひとつ、もっと手っ取り早い方法があります。

1. ポートを設定する

sed -i "s/Port . */あなたのポート /g" /etc/ssh/sshd_config

2. sshの再起動

サービス ssh 再起動

新しいポートにもう一度sshするだけです。

注意

新しいポートは、サーバーから自分を締め出さないように、許可されたアクセスのリストに追加する必要があります!!! ここで参考までに、Linuxのコマンドラインで入力するコマンドは以下の通りです。

<ブロッククオート firewall-cmd --zone=public --add-port=your-port/tcp --permanent

Auth.logをチェックし、SSHがsweptされているかどうかを確認します。
IPアドレスとパスワードによるログイン成功回数を確認する

<ブロッククオート

grep "Accepted password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more

パスワード付きでログインに失敗したIPアドレスと回数を表示する

<ブロッククオート

grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more

以上、ubuntuでsshリモート接続のポート番号を変更する方法について解説しました。ubuntuでsshリモート接続のポート番号を変更する方法については、スクリプトハウスの過去の記事を検索するか、以下の記事を引き続き閲覧してください。