Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiplexed Connections Rejected with 'Shared Connection Closed' #3656

Open
heiytor opened this issue Mar 28, 2024 · 0 comments
Open

Multiplexed Connections Rejected with 'Shared Connection Closed' #3656

heiytor opened this issue Mar 28, 2024 · 0 comments
Assignees
Labels
kind/bug Something isn't working

Comments

@heiytor
Copy link
Contributor

heiytor commented Mar 28, 2024

Description

Description

ShellHub is rejecting connections when the client is configured to use multiplexed connections.

Steps to Reproduce

  1. Enable multiplexed connections.
  2. Authenticate to a device.
  3. Attempt to reauthenticate to the same device with the previous connection still open.

Note: Connections using -f will succeed in connecting the next attempt, but subsequent connections attempts will fail.

Expected Behavior

The client should reuse the existing "master" connection, bypassing, for example, the authentication step.

Actual Behavior

The server rejects subsequent connections with a Shared connection to localhost closed. error.


See also #3653

Edition

Community

Version

v0.14.3

@heiytor heiytor added the kind/bug Something isn't working label Mar 28, 2024
@heiytor heiytor self-assigned this Mar 28, 2024
henrybarreto added a commit that referenced this issue Mar 28, 2024
A Multiplexing connection can send more than one channel request over
the same socket, making possible reuse the authentication method used by
the master in the derivate ones.

To support it, we should only allow the GliderSSH's server to dial with
the connection on the agent's side, removing our intervention on the
protocol flow, that enforces the channel limitation, just sending the
device's response to the client.

Closes #3656
henrybarreto added a commit that referenced this issue Mar 28, 2024
A Multiplexing connection can send more than one channel request over
the same socket, making possible reuse the authentication method used by
the master in the derivate ones.

To support it, we should only allow the GliderSSH's server to dial with
the connection on the agent's side, removing our intervention on the
protocol flow, that enforces the channel limitation, just sending the
device's response to the client.

Closes #3656
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant