web-dev-qa-db-ja.com

SSHを使用してインターネット経由で接続するようにサーバーを設定する(Ubuntu 14.04)

ローカルネットワークの外部からアクセスできるようにローカルサーバーを設定しようとしています。私はこの概念に不慣れで、何をすべきかについて少し不安です。

現時点では、次を使用してコンピューターにアクセスしています:ssh [email protected]

このサーバーをローカルネットワークの外部からアクセスできるように設定したいと思います。

TCP/IPやIPアドレスなどのネットワークについて読んでいますが、実際にそれを実現する方法がわかりません。

Ubuntu 14.04 LTSを使用していて、パブリックIPを持っています。ルーターの後ろには、4台のWindowsコンピューターのLANネットワークと、MySQLサーバーを実行するLinuxサーバーがあります。

6
Sofia

インターネット経由でサーバーにSSHを使用するには:

  1. コンピュータ上:ファイアウォールでポート22を開く必要があります。
  2. ルータ上:192.168.X.Xでポート22を転送する必要があります。安全上の理由から、ルーターの非標準ポート(500など)を開いて、コンピューターのポート22に転送できることに注意してください。次に、コンピューターが標準ポート22でリッスンしているときに、SSHをポート500に接続します。
  3. たとえば http://whatismyipaddress.com/ にアクセスして、ルーターの外部IPアドレスを確認します。
  4. 外部ISPアドレスが静的でない場合(ISPによって異なります)、ルーターにDNS名を指定する必要があります。ルーターでサポートされている ダイナミックDNS サプライヤーのアカウントを取得する必要がありますので、ルーターは自動的に起動するたびにサプライヤでIPアドレスを更新します。次に、DNS名を使用してコンピューターに接続します。DNS名の形式は、サプライヤーによって異なります(例:your-name.ddns.net)。 DNSサプライヤーがルーターでサポートされていない場合は、起動するたびに手動で更新するか、セットアップ ddclient する必要があります。

より多くの情報はグーグルを介して見つけることができます。たとえば記事:
動的DNSおよびリモートsshおよびVNC

7
harrymc

より具体的な回答を得るには、ルーターのモデルを知る必要があります。ローカルLANのssh-serverにアクセスできるので、ルーターを正しく構成すれば、インターネット経由でssh-serverにアクセスできます。

この機能の名前はルーターごとに異なりますが、基本的にはファイアウォールを構成して、ポート22でパブリックIPからの接続を許可し、トラフィックをローカルサーバーに転送する必要があります。これはDNATまたはポート転送と名付けられ、一部のルーターではファイアウォールルールが自動的に作成されます。

サイドノードとして、ssh-deamonに fail2ban をインストールすることを検討してください。サーバーのアクセスがプローブされ、fail2banを使用してこのアクティビティを制限します。

1
Fabian