HTTPS 経由で SSH トンネリング エージェントを作成する方法は?

HTTPS 経由で SSH トンネリング エージェントを作成する方法は?

HTTP と HTTPS を除くすべてのポートでネットワークがブロックされている場合に SSH を許可するにはどうすればよいですか?

443 経由で SSH を実行でき、サーバーを再起動した後でも機能する SSH トンネルを作成する方法を知りたいです。

Laravel Forge を使用してサーバーを設定しようとしています。ただし、SSH ポートがブロックされている場合、Laravel Forge は動作しません。そのため、トンネリング エージェントを介して Laravel Forge の SSH を許可する方法を見つけようとしています。

答え1

ポート 443 が Web サーバーによって使用されている場合、それを他の用途に再利用することはできません (実際には、そのようなことを行う方法はあります)。私が提案するのは、サーバーに別のボックスへの送信 SSH 接続を作成させることです。ファイアウォール ポリシーによってこれが許可される可能性が非常に高いです。

次のようにします。

ssh -L 2222:localhost:22 some.other.server

(サービスを使用して永続化することもできます。https://gist.github.com/drmalex07/c0f9304deea566842490

次に、some.other.server にログインして、次の操作を実行します。

ssh -p 2222 webserveruser@localhost

または、自動化をこのポートに接続します。

さらに一歩進んで、ジャンプオプションを使って直接ジャンプすることもできますを通して中間サーバー。.ssh/config は次のようになります。

Host intermediate.server
  HostName intermediate.server
  User someuser
  IdentityFile ~/.ssh/id_rsa


Host webserver
  HostName localhost
  User someuser
  Port 2222
  IdentityFile ~/.ssh/id_rsa
  ProxyJump intermediate.server

実質的に次のことが可能になります:

ssh webserver

ssh は大好きです!

関連情報