答え1
注記: このメッセージは、解決しようとしている問題の症状です。メッセージの原因を理解することが、最終的に問題の解決につながります。
「接続が拒否されました」というメッセージには、主に 2 つの原因があります。
- 接続しようとしている IP:ポートでは何もリッスンしていません。
- ポートはファイアウォールによってブロックされています。
リッスンしているプロセスはありません。
これは、このメッセージが表示される最も一般的な理由です。まず、正しいシステムに接続しようとしていることを確認してください。正しい場合は、これが問題であるかどうかを判断するために、リモートシステムで以下を実行します。ネットスタットまたはss1例えば、プロセスがポート22222で待機していることを期待している場合
sudo netstat -tnlp | grep :22222
または
ss -tnlp | grep :22222
OSXの場合、適切なコマンドは
sudo netstat -tnlp tcp | grep '\.80 '
何もリッスンしていない場合、上記は出力を生成しません。何らかの出力が表示された場合は、それが期待どおりであることを確認してから、以下のファイアウォール セクションを参照してください。
リモート システムにアクセスできず、関係する管理者に報告する前に問題を確認したい場合は、tcpdump (wireshark または類似のもの) を使用できます。
何もリッスンしていないIP:ポートへの接続が試みられると、最初のSYNパケットに対するリモートシステムからの応答は、フラグRST、ACKが設定されたパケットです。これにより接続が閉じられ、接続拒否メッセージが表示されます。例:
$ sudo tcpdump -n ホスト 192.0.2.1、ポート 22222
tcpdump: 詳細な出力は抑制されています。完全なプロトコル デコードには -v または -vv を使用してください。enp14s0
でリッスンしています。リンク タイプ EN10MB (イーサネット)、キャプチャ サイズ 262144 バイト
12:31:27.013976 IP 192.0.2.2.34390 > 192.0.2.1.22222: フラグ[ス]、seq 1207858804、win 29200、オプション [mss 1460、sackOK、TS val 15306344 ecr 0、nop、wscale 7]、長さ 0
12:31:27.020162 IP 192.0.2.1.22222 > 192.0.2.2.34390: フラグ[R.]、シーケンス 0、ack 1207858805、勝利 0、長さ 0
tcpdumpは。にACKを表すフラグ。
ポートはファイアウォールによってブロックされています
ポートがファイアウォールによってブロックされており、ファイアウォールがicmp-port-unreachable
これに対応するように設定されている場合、接続拒否メッセージも表示されます。これも tcpdump (または同様のもの) で確認できます。
$ sudo tcpdump -n icmp
tcpdump: 詳細出力は抑制されています。完全なプロトコル デコードには -v または -vv を使用してください
。enp14s0 でリッスンしています。リンク タイプ EN10MB (イーサネット)、キャプチャ サイズ 262144 バイト 13:03:24.149897 IP 192.0.2.1 > 192.0.2.2: ICMP 192.0.2.1 tcp ポート 22222 に到達できません。長さ 68
これにより、ブロックしているファイアウォールの場所もわかることに注意してください。
これで、接続拒否メッセージの原因がわかったので、ファイアウォール管理者に連絡するか、プロセスがリッスンしない理由を調査するなど、適切な措置を講じる必要があります。
1他のツールも利用できる可能性があります。
答え2
私の場合、Debian 6 Squeezeでは次のように簡単でした。SSHサービスの確認:
sudo service ssh status
そして何も存在しないことを発見した(メッセージとともにssh: unrecognized service
)サービスのインストール:
sudo apt-get install openssh-server
SFTP は SSH のサブセットであり (FTPS は FTP のサブセットである)、SFTP 接続が確立されていない場合でもこの方法は機能します。
答え3
「接続拒否」メッセージの原因は何ですか?
- 正しくない指定された IP アドレスまたはポート番号。
- サーバーアプリケーションは走っていないそのポートをリッスンします。
- サーバーアプリケーションは実行されていますが、聞いていない指定されたポートで。
- ローカル/リモートファイアウォール接続をブロックします。
- サーバーの過負荷またはリソース枯渇。