
SSH만 사용하여 로컬호스트로 연결하는 HTTP(S)/WS(S)/TCP 터널
HTTP(S), WS(S), TCP, 별칭 및 SNI를 위한 오픈 소스 SSH 터널링.
serveo/ngrok 스타일 공유의 간편함을 좋아하지만 일반 SSH를 사용하고 자체 인프라를 운영하고 싶다면 sish가 그 목적으로 만들어졌습니다.
Docs | Managed Service | Releases | Docker Images | Sponsored by 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를 가리키도록 구성되어 있습니다.