GNU/Linux >> Linux の 問題 >  >> Cent OS

0.0.0.0 のポート 22 へのバインドに失敗しました:アドレスは既に使用されています – sshd サービス CentOS/RHEL の開始中にエラーが発生しました

問題

CentOS/RHEL 5/6 システムで sshd サービスを再起動すると、次のメッセージがログに記録されます。

Dec 14 00:15:19 geeklab sshd[9182]: Received signal 15; terminating.
Dec 14 00:15:19 geeklab sshd[9274]: Server listening on :: port 22.
Dec 14 00:15:19 geeklab sshd[9274]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.

解決策

IPv6 と IPv4 の両方が同時に有効になっている場合、sshd サービスが開始されると、IPv6 は最初にポート 22 で使用可能なすべての IPv6 IP (::) にバインドします。そのため、IPv4 IP (0.0.0.0) が同じポートにバインドしようとすると、システムは上記のエラー メッセージをログに記録します。これは、ポートがすでに IPv6 IP によって使用されているためです。

netstat の出力でも同じことが確認できます。

# netstat -anp | grep sshd
tcp        0      0 :::22                       :::*                        LISTEN      9302/sshd 

この問題を解決するには、以下の手順に従ってください:

1. sshd 設定ファイル /etc/ssh/sshd_config を編集します 以下の行のコメントを外します:

# vi /etc/ssh/sshd_config
ListenAddress 0.0.0.0

2. sshd サービスを再起動して、変更を有効にします。

# service sshd restart

3. 以下のようなログが /var/log/messages ファイルに記録されます。

Dec 14 00:35:23 geeklab sshd[9274]: Received signal 15; terminating.
Dec 14 00:35:23 geeklab sshd[9301]: Server listening on 0.0.0.0 port 22.

4. netstat コマンドの出力をチェックして、sshd ポート 22 が IPv4 アドレスのみをリッスンしているかどうかを確認することもできます。

# netstat -anp | grep sshd
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      8977/sshd


Cent OS
  1. CentOS / RHEL 7 でポートを開く方法

  2. 「mlock に失敗しました:メモリを割り当てることができません」CentOS/RHEL 7 での lvcreate コマンド エラー

  3. CentOS/RHEL 7 で SSSD サービスが「SSSD is already running」で失敗する

  1. CentOS/RHEL で代替ポートをリッスンするように snmp サービスを変更する方法

  2. 「passwd:Module is unknown」 – CentOS/RHEL 6 でパスワードを変更中にエラーが発生する

  3. 「リポジトリ「repo_name」のキャッシュを同期できませんでした。このリポジトリは無視されます」 – CentOS/RHEL 8 エラー

  1. Apache 2はバインドできませんでした、アドレスはすでに使用されていますか?

  2. CentOS / RHEL 5 :faillog コマンドを使用して失敗したログイン試行を追跡する方法

  3. 「エラー:0.0.0.0 のポート 2222 へのバインドに失敗しました:許可が拒否されました」 – CentOS/RHEL で sshd サービスを開始する際のエラー