
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 は大好きです!