Linuxで「ssh接続が拒否されました」を修正する方法

Linuxで「ssh接続が拒否されました」を修正する方法

LinuxでSSH経由で接続しようとすると、「接続が拒否されました」というエラーが発生しますか?もしそうなら、このガイドはあなたのためです!Linuxシステムでの「接続が拒否されました」エラーに対するいくつかの可能な修正について説明しますので、以下に従ってください。 

Linuxで「ssh接続が拒否されました」を修正する方法

修正1-ポート22がファイアウォールによってブロックされている

LinuxデスクトップまたはOpenSSHサーバーがセットアップされたサーバーに接続しているときに「ssh接続が拒否された」可能性がある理由の1つは、ファイアウォールがデフォルトのポートをブロックしていることです。

これを解決するには、ファイアウォールを使用してポート22のブロックを解除できます。このガイドでは、Ubuntu / DebianおよびUFWを使用するその他のディストリビューション用のUFWコマンドラインファイアウォールを使用してポート22のブロックを解除する方法を示します。また、Fedora、RHELなどのRedHatディストリビューションを使用している場合のFirewallDについても説明します。

注:LinuxでUFWまたはFirewalld以外のファイアウォールシステムを使用している場合は、ソフトウェアのマニュアルを参照して、ポート22のブロックを解除する方法を学ぶ必要があります。

ブロック解除プロセスを開始するには、ターミナルウィンドウが必要です。OpenSSHサーバーをホストしているLinuxデスクトップまたはLinuxサーバーでターミナルセッションを起動します。ターミナルウィンドウが開いたら、使用しているファイアウォールに対応するブロック解除の手順に従います。

Ubuntu、Debian、およびUFWを使用するその他のLinuxオペレーティングシステムでポート22のブロックを解除する 

多くのLinuxサーバーとデスクトップでは、UFWファイアウォールがデフォルトで実行されています。このシステムが実行されている場合、ポート22がブロックされている可能性があります。ブロックを解除してポート22を介したSSHトラフィックを許可するには、allowコマンドを使用する必要があります。

ターミナルで、sudo ufw allowsshコマンドを実行し ます。このコマンドは、UFWファイアウォールに、ファイアウォール(デフォルトではポート22)を通過する「ssh」プロファイルを許可するように指示します。

Linuxで「ssh接続が拒否されました」を修正する方法

sudo ufw allow ssh

ポート22以外のカスタムポートでSSHを使用している場合、  allow ssh コマンドを入力しても機能せず、UFWは接続をブロックし続けます。これを修正するには、ufw allow コマンドを使用して、 ブロックを解除するポートを指定します。

たとえば、Linuxデスクトップまたはサーバーがカスタムポート443でOpenSSHを実行している場合、以下のコマンドを使用してUFWファイアウォールを介してブロックを解除できます。

sudo ufw allow 443 / tcp

Ubuntu、Debian、またはUFWファイアウォールを実行しているその他のサーバー/デスクトップ上のUFWファイアウォールでカスタムSSHポートのブロックを解除するには、allow コマンドとともにポートを指定します。

sudo ufw allow MY_CUSTOM_SSH_PORT / tcp

FirewallDを使用するFedora、RHEL、およびその他のLinuxオペレーティングシステムでポート22のブロックを解除する

Fedora、RHEL、または別のRedhatベースのLinuxオペレーティングシステムを使用するサーバーまたはデスクトップを実行している場合は、Firewalldを使用している可能性があります。「接続が拒否されました」というエラーが発生する場合は、ポート22がブロックされている可能性があります。FirewallDで有効にする方法は次のとおりです。

まず、ターミナルのrootアカウントにログインする必要があります。FirewallDの設定をいじくり回すには、ルートアクセスが必要です。rootアカウントにアクセスするには、次のsu – コマンドを実行します。

su- 

su コマンドを使用してrootアカウントにアクセスした後 、firewall-cmd コマンドを使用して、 ポート22の通過(SSHトラフィック)を許可する新しいファイアウォールルールを追加します。

Firewall-cmd --zone = public --add-port = 22 / tcp --permanent

ポート22ではなくカスタムポートでSSHを実行している場合、上記のコマンドは機能しません。代わりに、「add-port = 22」コマンドをカスタムポートに変更する必要があります。

Firewall-cmd --zone = public --add-port = MY_CUSTOM_SSH_PORT / tcp --permanent

新しいルールをFirewalld構成に追加したら、新しい設定を適用する必要があります。これらの設定を適用するには、firewall-cmd –reload コマンドを実行します 。

Firewall-cmd --reload

修正2–OpenSSHサービスがダウンしている

ファイアウォールでSSHポートのブロックを解除してもうまくいかなかった場合は、サーバーでOpenSSHがダウンしているという事実に対処している可能性があります。サービスがダウンしているかどうかを確認するには、ターミナルを開き、OpenSSHサービスのsystemctlstatusコマンドを実行します 

systemctl status sshd

statusコマンドを実行すると、sshdサービスの読み出しが表示されます。これは、OpenSSHサーバーがほとんどのLinuxオペレーティングシステムで機能することを可能にするファイルです。 

SSHの読み取り値で「アクティブ」セクションを確認してください。「アクティブ:非アクティブ(デッド)」と表示されている場合は、OpenSSHサービスがダウンしているため、再起動する必要があります。「アクティブ(実行中)」と表示されている場合は、別の修正を試して、接続が拒否されている理由を特定する必要があります。

Linuxで「ssh接続が拒否されました」を修正する方法

OpenSSHサービスのバックアップを再開するには、systemctl startsshd コマンドを実行できます 。

Linuxで「ssh接続が拒否されました」を修正する方法

sudo systemctl start sshd

修正2.5–OpenSSHサービスが有効になっていません

OpenSSHが接続を拒否するもう1つの考えられる理由は、OpenSSHのsshdサービスが起動時に有効になっていないという単純な事実です。起動時にSSHを有効にしないと、再起動のたびにSSHがダウンし、接続の問題が発生する可能性があります。この問題を解決するには、次のsystemctlコマンドを実行します。

sudo systemctl enable sshd 

修正3–OpenSSHが別のポートで実行されている

多くのユーザーは、SSHサーバーをセットアップするときにSSH構成をカスタマイズすることを好みます。最も一般的なことの1つは、デフォルトのポートを22から別のポートに変更することです。

SSHポートを変更した場合、接続を成功させるには、SSHポートを指定する必要があります。たとえば、SSHサーバーがポート443で実行されている場合、以下のコマンドを実行するだけで接続エラーが発生します。

ssh my-user @ my-server

-p コマンドラインスイッチを使用して接続中にポート番号を指定することにより、この接続拒否を修正できます。 

ssh -p CUSTOM_PORT_NUMBER user @ my-server


UbuntuサーバーにGitLabをインストールする方法

UbuntuサーバーにGitLabをインストールする方法

GitLab を Ubuntu サーバー上で動作させたいと考えていますか? GitLab は、GitHub のようなサービスに代わる、強力な自己ホスト可能な代替サービスです。これを使用すると、次のことができます

SELinux による Ubuntu Linux サーバーの保護

SELinux による Ubuntu Linux サーバーの保護

SELinux をインストールしてアクティブ化することで、Ubuntu Linux サーバーにセキュリティを追加する方法を学びます。

Cockpit を使用して Linux サーバー上で NFS を構成する

Cockpit を使用して Linux サーバー上で NFS を構成する

Linux サーバーに NFS 共有をマウントする簡単な方法が必要ですか? Cockpit アプリを使用して NFS 共有をマウントする方法を学びます。

Ubuntu 22.04 LTS にアップグレードする方法

Ubuntu 22.04 LTS にアップグレードする方法

Ubuntu 22.04 の長期サポートが登場しました! デスクトップまたはラップトップを最新の Ubuntu リリースにアップグレードする方法を学びます。

最新の Nvidia GPU ドライバーを Linux にインストールする方法

最新の Nvidia GPU ドライバーを Linux にインストールする方法

最新の Nvidia GPU ドライバーを Linux にインストールする方法

Dockerコンテナにファイルを転送する方法

Dockerコンテナにファイルを転送する方法

ファイルを Docker コンテナに転送する必要がありますか? Docker cp ツールを使用すると、コンテナーとの間でファイルを簡単に移動できます。

Linux に DEB ファイルをインストールする方法

Linux に DEB ファイルをインストールする方法

.DEB ファイルとは何ですか? それを使って何をしますか?Linux PC に DEB ファイルをインストールするさまざまな方法を学びましょう。

GOG Galaxy を Linux 上で動作させる方法

GOG Galaxy を Linux 上で動作させる方法

GOG.com のゲームを所有していますか? ビデオ ゲームを楽しむために Linux PC に GOG Galaxy クライアントをセットアップしたいですか? このガイドに従ってください。

CentOS に Docker エンジンをインストールする方法

CentOS に Docker エンジンをインストールする方法

Docker Engine は、Linux およびその他のプラットフォーム用のオープン コンテナ化プログラムです。Docker Engine は、次のように動作する自己完結型コンテナを管理します。

Ferdi とすべてのチャットを 1 つにまとめる方法

Ferdi とすべてのチャットを 1 つにまとめる方法

Slack、Discord、その他多くの生産性向上ツールを Linux システムにインストールすることにうんざりしていませんか? それらをすべて 1 つに結合できたらいいのにと思いますか