PowerShell / Win32-OpenSSH

Win32 port of OpenSSH
7.43k stars 759 forks source link

BUG in ssh-shellhost.exe #2186

Open abakum opened 11 months ago

abakum commented 11 months ago

Prerequisites

Steps to reproduce

Server side------------------- C:\Program Files\OpenSSH>"C:\Program Files\OpenSSH\"sshd -ddd ... debug1: sshd version OpenSSH_for_Windows_9.4, LibreSSL 3.7.3 ... debug3: shell: "c:\\windows\\system32\\cmd.exe" debug3: shell_option: /c debug3: couldn't find CreatePseudoConsole() in kernel32.dll dll debug3: This windows OS doesn't support conpty debug3: pty commandline: "C:\\Program Files\\OpenSSH\\ssh-shellhost.exe" ---pty "c:\\windows\\system32\\cmd.exe"

Client side---------------------------------- mode con cols=80 lines=9999 ssh -vvv Konstantin.Abakumov@127.0.0.1 ... debug1: Local version string SSH-2.0-OpenSSH_for_Windows_9.4 debug1: Remote protocol version 2.0, remote software version OpenSSH_for_Windows_9.4 ... debug3: client_repledge: enter debug1: ENABLE_VIRTUAL_TERMINAL_INPUT is supported. Reading the VTSequence from console debug3: couldn't find CreatePseudoConsole() in kernel32.dll dll debug3: This windows OS doesn't support conpty debug1: ENABLE_VIRTUAL_TERMINAL_PROCESSING is supported. Console supports the ansi parsing ....

uf\konstantin.abakumov@WUFRS0661151 C:\Users\user>mode con

Состояние устройства CON:

Строки:                9999
Столбцы:               80
Скорость клавиатуры:   31
Задержка клавиатуры:   1
Кодовая страница:      866

------------------------------------ ssh-shellhost.exe work well on start-----------------------------------------------

------------------------------------I enlarge width of console-----------------------------------------------

Client side---------------------------------- debug2: client_check_window_change: changed debug2: channel 0: request window-change confirm 0 debug3: send packet: type 98 debug2: client_check_window_change: changed debug2: channel 0: request window-change confirm 0 debug3: send packet: type 98 debug2: client_check_window_change: changed debug2: channel 0: request window-change confirm 0 debug3: send packet: type 98 debug2: client_check_window_change: changed debug2: channel 0: request window-change confirm 0 debug3: send packet: type 98

Server side------------------- debug3: receive packet: type 98 debug1: server_input_channel_req: channel 0 request window-change reply 0 debug1: session_by_channel: session 0 channel 0 debug1: session_input_channel_req: session 0 req window-change debug3: receive packet: type 98 debug1: server_input_channel_req: channel 0 request window-change reply 0 debug1: session_by_channel: session 0 channel 0 debug1: session_input_channel_req: session 0 req window-change

Client side---------------------------------- uf\konstantin.abakumov@WUFRS0661151 C:\Users\user>mode con

Состояние устройства CON:

Строки:                9999
Столбцы:               80
Скорость клавиатуры:   31
Задержка клавиатуры:   1
Кодовая страница:      866

------------------------------------Nothing happend!!! BUG in ssh-shellhost.exe -----------------------------------------------

exit ------------------------------------End session----------------------------------------------- ------------------------------------New session with same console-----------------------------------------------

ssh Konstantin.Abakumov@127.0.0.1 uf\konstantin.abakumov@WUFRS0661151 C:\Users\user>mode con

Состояние устройства CON:

Строки:                9999
Столбцы:               102
Скорость клавиатуры:   31
Задержка клавиатуры:   1
Кодовая страница:      866    

------------------------------------ ssh-shellhost.exe work well on start-----------------------------------------------

Expected behavior

After enlarge width of console
Columns:               102

Actual behavior

Columns:               80

Error details

The width of the console on the server side does not change

Environment data

Name                           Value
----                           -----
PSVersion                      5.1.14393.5582
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14393.5582
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

Version

OpenSSH_for_Windows_9.4, LibreSSL 3.7.3

Visuals

No response

abakum commented 11 months ago

Please uncoment https://github.com/PowerShell/openssh-portable/blob/4ee8dc64982b62cd520417556515383908091b76/contrib/win32/win32compat/shell-host.c#L804. To fix:

>2) when ssh client window is resized it clears everything and gives a blank screen.
abakum commented 11 months ago

For me ssh-shellhost.exe for amd64 from https://github.com/PowerShell/Win32-OpenSSH/issues/1222#issuecomment-409052375 works well. Were can I find ssh-shellhost.exe for 386?

maertendMSFT commented 11 months ago

@abakum what OS versions do you have running on the client and the server?

abakum commented 11 months ago

Microsoft Windows [Version 10.0.14393] on same PC server and client

tgauth commented 11 months ago

Starting with Windows 10 Build 18309, ConPTY should be supported so ssh-shellhost is not needed. Is updating the OS an option?

Also, all releases have 386 binaries within OpenSSH-Win32.zip

abakum commented 11 months ago

VScode used winpty

tgauth commented 11 months ago

Are you running SSH through the VSCode extension?

abakum commented 11 months ago

No, but VSCode does not offer to update the Windows version - it just uses what works \8^)