Git over SSH - Access Guide
Connect to git.asobisoft.org over SSH using a WebSocket tunnel.
1. Overview
This Forgejo instance runs on an internal network and is reached from the internet through a reverse proxy that only accepts HTTPS traffic, so SSH cannot connect directly to port 22.
SSH traffic is therefore carried inside a WebSocket connection to
wss://git.asobisoft.org/ssh-tunnel using a small open-source
tool called websocat. Once installed and configured, you
clone, pull and push exactly as usual.
2. Install websocat
websocat ships as a standalone static binary. Download the latest release for your platform from the official releases page:
-
Linux — pick
linux_amd64(x86_64) orlinux_aarch64(ARM64), extract thewebsocatbinary and put it somewhere on yourPATH(for example/usr/local/bin). - macOS —
brew install websocat. -
Windows — download the
windows_amd64zip, extractwebsocat.exeand put it in a folder on yourPATH(or install it with Scoop:scoop install websocat).
Verify the installation:
websocat --version
3. Add your SSH key
Your public SSH key must be registered on your account first. Without it, the test in step 5 fails with:
[email protected]: Permission denied (publickey).
Add your key at https://git.asobisoft.org/user/settings/keys, or follow the official Forgejo documentation on SSH keys.
4. Configure SSH
Add the following block to your SSH configuration file:
~/.ssh/config on Linux and macOS, or
C:\Users\<you>\.ssh\config on Windows.
Host git.asobisoft.org
User git
ProxyCommand websocat --binary wss://git.asobisoft.org/ssh-tunnel
Make sure websocat is on your PATH so SSH can
find it (on Windows, websocat.exe must be resolvable). If you
prefer, use the full path to the binary instead:
ProxyCommand /usr/local/bin/websocat --binary wss://git.asobisoft.org/ssh-tunnel
5. Test & use
Verify the tunnel and your SSH key work:
ssh -T [email protected]
You should see a message like:
Hi there, <username>! You've successfully authenticated with the key named <key-name>, but Forgejo does not provide shell access.
If this is unexpected, please log in with password and setup Forgejo under another user.
If asked to confirm the host key on the first connection, answer
yes. Then clone any repository with its SSH URL:
git clone ssh://[email protected]/<owner>/<repo>.git
The SSH URL shown on each repository page in Forgejo works as well. After the initial setup, clone, pull and push work as usual — no extra commands needed.