
HTTP(S)/WS(S)/TCP から localhost へのトンネルを SSH のみで実現。
HTTP(S)、WS(S)、TCP、エイリアス、SNIのためのオープンソースSSHトンネリング。
serveo/ngrok形式の共有のシンプルさが好きでありながら、プレーンなSSHを使用して独自のインフラを運用したい場合、sishはそのために作られています。
ドキュメント | マネージドサービス | リリース | Dockerイメージ | pico.shによるスポンサー提供
sishはフォワーディングと多重化に特化したSSHサーバーを実行します。ユーザーは既に知っているコマンドで接続し、sishがルーティングを処理します。
ワークフローを検証する最速の方法:
ssh -R 80:localhost:8080 tuns.sh
これにより、ポート8080で動作するローカルアプリに公開URLが作成されます。
イメージをプル:
docker pull antoniomika/sish:latest
ディレクトリを準備:
mkdir -p ~/sish/ssl ~/sish/keys ~/sish/pubkeys
cp ~/.ssh/id_ed25519.pub ~/sish/pubkeys
実行:
docker run -itd --name sish \
-v ~/sish/ssl:/ssl \
-v ~/sish/keys:/keys \
-v ~/sish/pubkeys:/pubkeys \
--net=host antoniomika/sish:latest \
--ssh-address=:2222 \
--http-address=:80 \
--https-address=:443 \
--https=true \
--https-certificate-directory=/ssl \
--authentication-keys-directory=/pubkeys \
--private-keys-directory=/keys \
--bind-random-ports=false \
--domain=example.com
その後接続:
ssh -p 2222 -R 80:localhost:8080 example.com
ssh -R myapp:80:localhost:8080 tuns.sh
localhost:8080のアプリがhttps://myapp.tuns.shで利用可能になります。
ssh -R 2222:localhost:22 tuns.sh
localhost:22がtuns.sh:2222で利用可能
ssh -R mylaptop:22:localhost:22 tuns.sh
別のクライアントからアクセス:
ssh -J tuns.sh mylaptop
クローン:
git clone [email protected]:antoniomika/sish.git
cd sish
ローカルで起動:
go run main.go --http-address localhost:3000 --domain testing.ssi.sh
または次を使用:
make dev
トンネルをテスト:
ssh -p 2222 -R 80:localhost:8080 testing.ssi.sh
testing.ssi.shは開発用にlocalhostを指すように設定されています。