web-dev-qa-db-ja.com

リモートLinuxマシンを管理する

私のスタートアップは、debianlinuxといくつかのカスタムプログラムを実行するコンピューターを構築することです。ユーザーが何もしなくてもマシンにリモートアクセスするための最良の方法は何ですか?

当社の製品は現在初期段階にあり、更新プロセスは十分にテストされておらず、破損する可能性があります。 SSH経由でリモートからマシンにアクセスする簡単な方法を探しています。マシンは標準のホームファイアウォールの背後にあり、静的IPやこのような性質のものはありません。

私の考えは、次のような逆SSHを実行するinitスクリプトの行に沿って何かを使用することでした。ssh -N -R 2222:localhost:22 [email protected]

これについて私が気に入らないのは、各マシンに独自のポートとユーザーが必要なことです。また、SSH接続が必要ない場合でも、SSH接続は開いており、トラフィックが使用されています。

クライアントがSSH経由で接続する必要があるかどうかをhttpリクエストを使用してx分ごとにチェックする簡単なWebページを提供するアプリケーションをサーバー上に作成することを考えています。その場合、サーバースクリプトはアカウントを作成し、使用するポートとユーザーをクライアントに指示します。

2
Thomaschaaf

OpenVPNサーバーをセットアップします。すべてのリモートマシンはサーバーへのOpenVPNクライアントになり、VPN IPアドレス(例:10.8.0.x)を取得します。彼らはクライアントなので、パブリックIPアドレスは気にしません。また、クライアントはVPNサーバーへの発信接続を行うため、トラフィックを取り込むためにルーターのポートを開く必要はありません。

これらのマシンのいずれかにアクセスするには、VPNIPアドレスにSSH接続するだけです。 sshデーモンは、VPNネットワークでのみリッスンできるため、公開されていません。

あなたの場所でOpenVPNサーバーを実行する必要はありません。たとえば、無料枠にAmazon EC2インスタンスのようなものをセットアップして、これを試して自分の状況で機能するかどうかを確認できます。サーバーには静的IPが必要になる可能性があります。ある種のdyndnsshenanigansで逃げることはできますが、実際のセットアップではできません。

6
cjc