Ape Mithrandir's avatar
Ape Mithrandir
apemithrandir@apemithrandir.com
npub16dsu...h6vy
Bitcoin | Bisq | Sparrow | Self-Hosting | https://github.com/apemithrandir/self-hosting-guide
# Bisq with Bitcoin Local Node via SSH Tunnel ## 1. Generate & Secure the Key (Bisq Host) ```bash ssh-keygen -t ed25519 -C "bisq-tunnel" -f ~/.ssh/bisq-tunnel # Press Enter twice to leave passphrase empty (required for unattended systemd) chmod 600 ~/.ssh/bisq-tunnel chmod 644 ~/.ssh/bisq-tunnel.pub ``` ## 2. Deploy to Bitcoin Core Host ```bash ssh-copy-id -i ~/.ssh/bisq-tunnel.pub <node-username>@<node-ip> # Verify passwordless login: ssh -i ~/.ssh/bisq-tunnel <node-username>@<node-ip> "echo 'Key deployed successfully'" ``` ## 3. Create Systemd User Service ```bash mkdir -p ~/.config/systemd/user vim ~/.config/systemd/user/bisq-btc-tunnel.service ``` Paste exactly this (replace `<node-username>` and `<node-ip>`): ```ini [Unit] Description=Bisq Bitcoin Core P2P SSH Tunnel After=network-online.target Wants=network-online.target [Service] ExecStart=/usr/bin/ssh -N -i ~/.ssh/bisq-tunnel -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -o StrictHostKeyChecking=accept-new <node-username>@<node-ip> -L 8333:127.0.0.1:8333 Restart=always RestartSec=5 StandardError=journal [Install] WantedBy=default.target ``` ## 4. Enable & Start Service ```bash systemctl --user daemon-reload systemctl --user enable --now bisq-btc-tunnel systemctl --user status bisq-btc-tunnel ``` *(Status should show `active (running)` with no errors.)* ## 5. Verify Tunnel ```bash nc -zv localhost 8333 # Expected: Connection to localhost 8333 port [tcp/*] succeeded ``` ## 6. Configure Bisq 1. Open Bisq → **Settings** → **Network Info** 2. **Clear** the `Use custom Bitcoin Core nodes` field 3. Restart Bisq. It will auto-detect `localhost:8333` and connect instantly. The tunnel will survive reboots, network drops, and SSH timeouts automatically.