職場に CentOS VM があり、ローカル IP アドレスを使用してローカルに SSH 接続できますが、オフィスの外にいるときは、外部 IP アドレスを使用して SSH 接続できません。OpenSSH を使用しています。外部 IP のポート 22 に Telnet しようとすると、接続拒否メッセージが表示されるため、ネットワーク レベルでブロックされているのではないかと思います。VM を最初にセットアップしたのは私ではありません。サーバー上にこれを引き起こす何か他のものがあるのでしょうか。他にテストできるものはありますか。
答え1
ローカルで使用できる場合は、SSHd が実行されているので問題ありません。
おそらく必要なのは、オフィス ネットワークにサービスを提供しているルーター/ゲートウェイから、接続先の VM のポート 22 にポート 22 (または使用されていない他のポート) をリダイレクトすることです。これはおそらく欠落しています。(つまり、外部 IP:22 または別のポートから VM_IP:22 にリダイレクトします)
答え2
おそらく、ポート転送ルールが誤って指定されているか、設定されていないことが問題の原因です。次の点が正しいことを確認してください。
sudo vi /etc/ssh/sshd_config
- ここで使用したいポートを指定します- ルーターに入り、指定されたポートをシステムの内部 IP に向けます。この IP は 経由で取得できます
ifconfig
。
これが問題ではない場合は、ネットワーク セキュリティが標準ルールの一部としてこれをブロックしている可能性があります。その場合は、システム管理者に問い合わせてください。