ネットワーク外のサーバーからの SSH アクセスを有効にするにはどうすればいいですか?

ネットワーク外のサーバーからの SSH アクセスを有効にするにはどうすればいいですか?

ローカル ネットワークにコンピュータ A (CentOS 7) があり、ローカル ネットワーク外でホストされている Web サイト B があります。B から A への SSH アクセスを有効にする必要があります (phpseclib を使用して、両者間でファイルを転送する予定です)。A を静的 IP アドレス 192.168.0.201 に設定しました。

次のように、ルーターの構成インターフェイスを使用して A を仮想サーバーにしようとしました。仮想サーバーの構成私の意図は、パブリック IP アドレスと特定のポートに SSH 接続すると、コンピューター A にリダイレクトされることです。

次に、ローカル ネットワーク上の別の PC から PuTTy を使用して、パブリック IP アドレスとポート 21 を使用して A に接続しようとしましたが、タイムアウトになりました。プロトコルとポートについてはよくわからなかったので、仮想サーバー サービス タイプを SSH およびポート 22 に設定しようとしましたが、再びタイムアウトになりました。

何が足りないのでしょうか?

答え1

まず、必要なポートは 22 です。これは SSH のポートであり、ルーターは適切に設定されているようです。ポート 21 は、デフォルトの FTP プロトコル ポートです。

次に、CentOS サーバーの iptables ステータスを確認します。デフォルトではオンになっており、すべての着信接続がブロックされています。

テストのため、サービスをシャットダウンして再接続してみます。

それには、次のコマンドを実行します。

systemctl stop iptables

外部から接続できるようになったことがわかったら、iptables を再起動し、次のようにポート 22 を具体的に開くルールを設定します。

iptables -A INPUT -i NIC_NAME -p tcp —dport 22 -j ACCEPT 

関連情報