Auto disconnect after connecting to a jumpserver after a few seconds through ssh
Describe the problem: [A clear and concise description of what the bug is.]
To Reproduce: [Steps to reproduce the behavior]
same issue, need to fallback to 1.0.215.
macos system, the same issue too, a very very serious bug!!!
same issue
same issue
The same goes for version 1.0.218
Is it the same problem still happening with 1.0.218? I've specifically fixed the random disconnect issue in it.
Is it the same problem still happening with 1.0.218? I've specifically fixed the random disconnect issue in it.
Yes, the problem still exists at 1.0.218, win11
Is it the same problem still happening with 1.0.218? I've specifically fixed the random disconnect issue in it.
Yes, it's still happening.
Could you run Tabby from another terminal with RUST_LOG=debug set and capture a log?
Could you run Tabby from another terminal with
RUST_LOG=debugset and capture a log?
How to get logs in the way you said, now I only see an error in the Dev Tools console
C:\Tabby\resources\app.asar\node_modules\russh\lib\index.js:3 Unhandled Promise rejection: SendError ; Zone: <root> ; Task: Promise.then ; Value: Error: SendError Error: SendError
C:\Tabby\resources\builtin-plugins\tabby-core\dist\index.js:15180 [ssh-172.1.2.2-2222] Destroying
C:\Tabby\resources\builtin-plugins\tabby-core\dist\index.js:15180 [ssh-shell-172.1.2.2-2222] Closing shell
C:\Tabby\resources\builtin-plugins\tabby-core\dist\index.js:15180 [ssh-172.1.2.2-2222] Destroying
C:\Tabby\resources\builtin-plugins\tabby-core\dist\index.js:15180 [ssh-shell-172.1.2.2-2222] Closing shell
C:\Tabby\resources\builtin-plugins\tabby-core\dist\index.js:15180 [ssh-shell-172.1.2.2-2222] Destroying
C:\Tabby\resources\app.asar\node_modules\russh\lib\index.js:3 Unhandled Promise rejection: SendError ; Zone: <root> ; Task: Promise.then ; Value: Error: SendError Error: SendError
api.onUnhandledError @ zone.js:1043
handleUnhandledRejection @ zone.js:1068
api.microtaskDrainDone @ zone.js:1062
drainMicroTaskQueue @ zone.js:588
Promise.then
nativeScheduleMicroTask @ zone.js:557
scheduleMicroTask @ zone.js:568
scheduleTask @ zone.js:392
scheduleTask @ zone.js:214
scheduleMicroTask @ zone.js:234
scheduleResolveOrReject @ zone.js:1247
resolvePromise @ zone.js:1184
(anonymous) @ zone.js:1100
(anonymous) @ zone.js:1116
Promise.then
(anonymous) @ zone.js:1489
ZoneAwarePromise @ zone.js:1411
Ctor.then @ zone.js:1488
resolvePromise @ zone.js:1151
(anonymous) @ zone.js:1100
(anonymous) @ zone.js:1116
(anonymous) @ C:\Tabby\resources\app.asar\node_modules\russh\lib\index.js:3
ZoneAwarePromise @ zone.js:1411
adopt @ C:\Tabby\resources\app.asar\node_modules\russh\lib\index.js:3
step @ C:\Tabby\resources\app.asar\node_modules\russh\lib\index.js:7
(anonymous) @ C:\Tabby\resources\app.asar\node_modules\russh\lib\index.js:8
ZoneAwarePromise @ zone.js:1411
__awaiter @ C:\Tabby\resources\app.asar\node_modules\russh\lib\index.js:4
disconnect @ C:\Tabby\resources\app.asar\node_modules\russh\lib\index.js:164
(anonymous) @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:8634
(anonymous) @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:6822
ZoneAwarePromise @ zone.js:1411
__awaiter @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:6804
destroy @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:8629
unref @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:8714
(anonymous) @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:9014
(anonymous) @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:6822
ZoneAwarePromise @ zone.js:1411
__awaiter @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:6804
destroy @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:9010
(anonymous) @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:8958
ConsumerObserver.next @ Subscriber.ts:161
Subscriber._next @ Subscriber.ts:119
Subscriber.next @ Subscriber.ts:75
(anonymous) @ Subject.ts:68
errorContext @ errorContext.ts:29
Subject.next @ Subject.ts:61
(anonymous) @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:8631
(anonymous) @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:6822
ZoneAwarePromise @ zone.js:1411
__awaiter @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:6804
destroy @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:8629
(anonymous) @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:8274
ConsumerObserver.next @ Subscriber.ts:161
Subscriber._next @ Subscriber.ts:119
Subscriber.next @ Subscriber.ts:75
(anonymous) @ Subject.ts:68
errorContext @ errorContext.ts:29
Subject.next @ Subject.ts:61
ClientEventInterface.disconnectCallback @ C:\Tabby\resources\app.asar\node_modules\russh\lib\events.js:29
Show 24 more frames
Show less
C:\Tabby\resources\app.asar\node_modules\russh\lib\index.js:3 Unhandled Promise rejection: SendError ; Zone: <root> ; Task: Promise.then ; Value: Error: SendError Error: SendError
api.onUnhandledError @ zone.js:1043
handleUnhandledRejection @ zone.js:1068
api.microtaskDrainDone @ zone.js:1062
drainMicroTaskQueue @ zone.js:588
Promise.then
nativeScheduleMicroTask @ zone.js:557
scheduleMicroTask @ zone.js:568
scheduleTask @ zone.js:392
scheduleTask @ zone.js:214
scheduleMicroTask @ zone.js:234
scheduleResolveOrReject @ zone.js:1247
resolvePromise @ zone.js:1184
(anonymous) @ zone.js:1100
(anonymous) @ zone.js:1116
Promise.then
(anonymous) @ zone.js:1489
ZoneAwarePromise @ zone.js:1411
Ctor.then @ zone.js:1488
resolvePromise @ zone.js:1151
(anonymous) @ zone.js:1100
(anonymous) @ zone.js:1116
(anonymous) @ C:\Tabby\resources\app.asar\node_modules\russh\lib\index.js:3
ZoneAwarePromise @ zone.js:1411
adopt @ C:\Tabby\resources\app.asar\node_modules\russh\lib\index.js:3
step @ C:\Tabby\resources\app.asar\node_modules\russh\lib\index.js:7
(anonymous) @ C:\Tabby\resources\app.asar\node_modules\russh\lib\index.js:8
ZoneAwarePromise @ zone.js:1411
__awaiter @ C:\Tabby\resources\app.asar\node_modules\russh\lib\index.js:4
disconnect @ C:\Tabby\resources\app.asar\node_modules\russh\lib\index.js:164
(anonymous) @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:8634
(anonymous) @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:6822
ZoneAwarePromise @ zone.js:1411
__awaiter @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:6804
destroy @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:8629
(anonymous) @ C:\Tabby\resources\builtin-plugins\tabby-ssh\dist\index.js:8274
ConsumerObserver.next @ Subscriber.ts:161
Subscriber._next @ Subscriber.ts:119
Subscriber.next @ Subscriber.ts:75
(anonymous) @ Subject.ts:68
errorContext @ errorContext.ts:29
Subject.next @ Subject.ts:61
ClientEventInterface.disconnectCallback @ C:\Tabby\resources\app.asar\node_modules\russh\lib\events.js:29
Show 22 more frames
Show less
I got the log.
同样的问题!
I use a private key and MFA to log in to Jumpserver. In version 1.0.215, an MFA prompt window pops up at the bottom during connection, but in versions 1.0.216~1.0.219, a password prompt window appears at the top instead. Even if the correct password is entered, it shows "Authentication rejected."
@flyinghail MFA is fixed in 1.0.220
same issue, auto disconnect after connecting to a jumpserver after a few seconds. v1.0.221 still not work, fallback to 215
same issue
@flyinghail MFA is fixed in 1.0.220
Thanks @Eugeny, I tested on 1.0.221, and the MFA issue has been resolved. The only remaining problem is that the connection automatically disconnects after a few seconds. Currently, only version 1.0.215 works properly.
The latest version of the bug still exists, and 1.0.215 has been re-downloaded for use.
he latest version of the bug still exists, and 1.0.215 has been re-downloaded for use.
Could you please capture an SSH debug log at the moment of a disconnect? Thanks
https://github.com/Eugeny/tabby/wiki/Capturing-a-debug-log-from-the-SSH-backend
GitHub
A terminal for a more modern age. Contribute to Eugeny/tabby development by creating an account on GitHub.
Could you please capture an SSH debug log at the moment of a disconnect? Thanks
https://github.com/Eugeny/tabby/wiki/Capturing-a-debug-log-from-the-SSH-backend
GitHub**Capturing a debug log from the SSH backend**A terminal for a more modern age. Contribute to Eugeny/tabby development by creating an account on GitHub.
[2025-02-06T15:51:57Z DEBUG russh::client] < msg type 98, seqn 212, len 31 [2025-02-06T15:51:57Z DEBUG russh::client::encrypted] channel_request: ChannelId(2) "[email protected]" [2025-02-06T15:51:57Z DEBUG russh::sshbuffer] > msg type 99, len 5 [2025-02-06T15:51:57Z DEBUG russh::client] disconnected Russh(IO(Custom { kind: UnexpectedEof, error: "early eof" })) [2025-02-06T15:51:57Z DEBUG russh::client] drop session [82279:0206/235157.977702:ERROR:gl_display.cc(497)] EGL Driver message (Error) eglQueryDeviceAttribEXT: Bad attribute. [82279:0206/235157.978948:ERROR:gl_display.cc(497)] EGL Driver message (Error) eglQueryDeviceAttribEXT: Bad attribute. [82279:0206/235157.992798:ERROR:gl_display.cc(497)] EGL Driver message (Error) eglQueryDeviceAttribEXT: Bad attribute. ^C[82276:0206/235203.060905:ERROR:interface_endpoint_client.cc(722)] Message 5 rejected by interface blink.mojom.WidgetHost [82276:0206/235203.060969:ERROR:interface_endpoint_client.cc(722)] Message 4 rejected by interface blink.mojom.WidgetHost
GitHub
A terminal for a more modern age. Contribute to Eugeny/tabby development by creating an account on GitHub.
Could you please capture an SSH debug log at the moment of a disconnect? Thanks
Wiki: Capturing a debug log from the SSH backend
GitHub**Capturing a debug log from the SSH backend**A terminal for a more modern age. Contribute to Eugeny/tabby development by creating an account on GitHub.
[2025-02-07T13:18:42Z DEBUG russh::client::encrypted] channel_request: ChannelId(2) "[email protected]"
[2025-02-07T13:18:42Z DEBUG russh::sshbuffer] > msg type 99, len 5
[2025-02-07T13:18:42Z DEBUG russh::client] disconnected Russh(IO(Custom { kind: UnexpectedEof, error: "early eof" }))
[2025-02-07T13:18:42Z DEBUG russh::client] drop session
[2025-02-07T13:18:42Z DEBUG russh_napi] russh-napi connecting to SshTransport(Mutex { data: Some(SocksProxy) })
[2025-02-07T13:18:42Z DEBUG russh::client] beginning re-key
1.0.221 still exists. And the logs is :
[2025-02-08T07:31:36Z DEBUG russh::sshbuffer] > msg type 50, len 38
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 51, seqn 5, len 24
[2025-02-08T07:31:36Z DEBUG russh::client::encrypted] userauth_failure
[2025-02-08T07:31:36Z DEBUG russh::client::encrypted] remaining methods MethodSet([Password, PublicKey])
[2025-02-08T07:31:36Z DEBUG russh::client::encrypted] write_auth_request_if_needed: is_waiting = true
[2025-02-08T07:31:36Z DEBUG russh::sshbuffer] > msg type 50, len 63
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 52, seqn 6, len 1
[2025-02-08T07:31:36Z DEBUG russh::client::encrypted] userauth_success
[2025-02-08T07:31:36Z DEBUG russh::sshbuffer] > msg type 90, len 24
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 91, seqn 7, len 17
[2025-02-08T07:31:36Z DEBUG russh::client::encrypted] channel_open_confirmation
[2025-02-08T07:31:36Z DEBUG russh::sshbuffer] > msg type 98, len 56
[2025-02-08T07:31:36Z DEBUG russh::sshbuffer] > msg type 98, len 15
[2025-02-08T07:31:36Z DEBUG russh::sshbuffer] > msg type 98, len 39
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 99, seqn 8, len 5
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 9, len 69
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 10, len 20
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 11, len 16
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 12, len 38
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 13, len 13
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 14, len 45
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 15, len 20
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 16, len 16
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 17, len 36
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 18, len 13
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 19, len 42
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 20, len 20
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 21, len 16
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 22, len 10
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 23, len 13
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 24, len 46
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 25, len 20
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 26, len 16
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 27, len 10
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 28, len 13
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 29, len 46
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 30, len 20
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 31, len 16
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 32, len 10
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 33, len 13
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 34, len 46
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 35, len 20
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 36, len 16
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 37, len 10
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 38, len 13
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 39, len 49
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 40, len 20
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 41, len 16
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 42, len 10
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 43, len 13
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 44, len 50
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 45, len 20
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 46, len 16
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 47, len 10
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 48, len 13
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 49, len 55
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 50, len 20
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 51, len 16
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 52, len 10
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 53, len 13
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 54, len 55
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 55, len 21
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 56, len 16
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 57, len 10
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 58, len 13
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 59, len 31
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 60, len 21
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 61, len 16
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 62, len 10
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 63, len 13
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 64, len 25
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 65, len 14
[2025-02-08T07:31:36Z DEBUG russh::client] < msg type 94, seqn 66, len 21
[2025-02-08T07:31:37Z DEBUG russh::sshbuffer] > msg type 98, len 39
Update for version 1.0.221 is not available (latest version: 1.0.221, downgrade is disallowed).
[2025-02-08T07:31:41Z DEBUG russh::sshbuffer] > msg type 80, len 27
[2025-02-08T07:31:41Z DEBUG russh::client] < msg type 82, seqn 67, len 1
[2025-02-08T07:31:46Z DEBUG russh::sshbuffer] > msg type 80, len 27
[2025-02-08T07:31:46Z DEBUG russh::client] < msg type 82, seqn 68, len 1
[2025-02-08T07:31:51Z DEBUG russh::sshbuffer] > msg type 80, len 27
[2025-02-08T07:31:51Z DEBUG russh::client] < msg type 82, seqn 69, len 1
[2025-02-08T07:31:56Z DEBUG russh::sshbuffer] > msg type 80, len 27
[2025-02-08T07:31:56Z DEBUG russh::client] < msg type 82, seqn 70, len 1
[2025-02-08T07:32:01Z DEBUG russh::sshbuffer] > msg type 80, len 27
[2025-02-08T07:32:01Z DEBUG russh::client] < msg type 82, seqn 71, len 1
[2025-02-08T07:32:06Z DEBUG russh::client] < msg type 98, seqn 72, len 31
[2025-02-08T07:32:06Z DEBUG russh::client::encrypted] channel_request: ChannelId(2) "[email protected]"
[2025-02-08T07:32:06Z DEBUG russh::sshbuffer] > msg type 99, len 5
[2025-02-08T07:32:06Z DEBUG russh::client] disconnected Russh(IO(Custom { kind: UnexpectedEof, error: "early eof" }))
[2025-02-08T07:32:06Z DEBUG russh::client] drop session
This is a serious problem. Is there a fix currently? Judging from the release time, it is because ssh2 was replaced with russh.
I noticed that the time for each disconnection is basically around 30 seconds.
Having the same issue :( Any progress or workaround?
I have encountered the same problem and have a headache. hope to solve it as soon as possible.
Code from tabby-ssh/src/session/ssh.ts.
if these parameters can be added in the "config file" tab, it would be nice. I believe it would and fix everyone problem. @Eugeny
Actually I have found it, just put 0 here and it shouldn't disconnect
Why hasn't such a serious bug been resolved for so long? Can't you show a bit more responsibility?
It's fully open source. So far, I have not seen any paid services for Tabby so it is entirely managed by the community. You are free and welcome to fork the project and continue to develop it. The owner and maintainers have no accountability towards users. See the MIT License