jpillora / jpillora/chisel

[Bug] Chisel is behaving differently if ran from cmd and powershell than git bash

Open
#243 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
16.6k
Forks
1.6k
PR merge metrics
No merged PRs in 30d

Description

I am having behavior differences in the bash I choose to run chisel.

My setup:

Client:

OS - windows 10.
SSH-agent - vscode-remote,
TCP tunnel - Chisel.

Server:

OS - Debian 10 (in a docker container)
SSh-server - dropbear
TCP tunnel - Chisel.

To summarise: vscode-remote (ssh-agent) -> chisel (client) -> chisel(server) -> ssh server

My senario:

When vscode-remote has a run time error it opens a new connection to the ssh server (chisel tunnel in this case) waits for the new connection to be opened and reroutes the session through the new connection keeping the old with the new.

I have a scenario in which I can make vscode-server throw a run time error and I can see in netstat that indeed a second connection is opened, but here our paths diverge.
If Chisel (client) is run from git bash (MINGW64) vscode-remote receives a signal from Chisel that the new connection is open but if Chisel (client) is run from PowerShell or CMD vscode-remote doesn't receive this signal and loses the connection.

In both cases, I am running a .exe binary version compatible with windows amd64.

I want to understand what can cause this strange behavior and what is the contract between the ssh-agent and chisel regarding the connection life-cycle.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source files, tests, or entry points are named. Start by reproducing the same Windows amd64 client and tunnel through Git Bash, PowerShell, and CMD, then compare the connection lifecycle and signal behavior; done means identifying the cause and documenting the ssh-agent/Chisel contract or a narrowly scoped fix.

Written by the indexing model from the issue text.

Assessment

Tech stack
bash, docker, go, powershell
Domain
networking, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.