microsoft / vscode-remote-release

Visual Studio Code Remote Development: Open any folder in WSL, in a Docker container, or on a remote machine using SSH and take advantage of VS Code's full feature set.
https://aka.ms/vscode-remote
Other
3.62k stars 277 forks source link

[Remote-SSH Bug]: exec request failed, not support this auth method #9790

Open PaleNeutron opened 5 months ago

PaleNeutron commented 5 months ago

Is there an existing issue for this bug?

Required Troubleshooting Steps

Connect Locally

It doesn’t connect successfully (same error message)

->

No response

Expected Behavior

Show 2nd Password prompt like I use ssh command in terminal

Password authentication
Password:
2nd Password:******

Steps To Reproduce

  1. My company has ssh 2fa method, user have to provide 2nd password after 1st password.
  2. I can connect it use ssh command from powershell
  3. I have set "remote.SSH.showLoginTerminal": true, and "remote.SSH.useLocalServer": false
  4. I enter 1st password in the terminal and it fails immediately

Remote-SSH Log

Remote-SSH Log

``` [15:01:08.545] > Password authentication [15:01:08.575] > Password: [15:01:15.311] > [15:01:15.420] > exec request failed, not support this auth method [15:01:16.708] "install" terminal command done [15:01:16.708] Install terminal quit with output: exec request failed, not support this auth method [15:01:16.708] Received install output: exec request failed, not support this auth method [15:01:16.709] Failed to parse remote port from server output [15:01:16.711] Resolver error: Error: at g.Create (c:\Users\049171\.vscode\extensions\ms-vscode-remote.remote-ssh-0.109.0\out\extension.js:2:499734) at t.handleInstallOutput (c:\Users\049171\.vscode\extensions\ms-vscode-remote.remote-ssh-0.109.0\out\extension.js:2:497056) at t.tryInstall (c:\Users\049171\.vscode\extensions\ms-vscode-remote.remote-ssh-0.109.0\out\extension.js:2:620589) at async c:\Users\049171\.vscode\extensions\ms-vscode-remote.remote-ssh-0.109.0\out\extension.js:2:580447 at async t.withShowDetailsEvent (c:\Users\049171\.vscode\extensions\ms-vscode-remote.remote-ssh-0.109.0\out\extension.js:2:583753) at async k (c:\Users\049171\.vscode\extensions\ms-vscode-remote.remote-ssh-0.109.0\out\extension.js:2:577412) at async t.resolve (c:\Users\049171\.vscode\extensions\ms-vscode-remote.remote-ssh-0.109.0\out\extension.js:2:581124) at async c:\Users\049171\.vscode\extensions\ms-vscode-remote.remote-ssh-0.109.0\out\extension.js:2:847283 ```

Anything else?

No response

roblourens commented 3 months ago

With the settings you've set, we basically just run a normal ssh command in the terminal, so it should work the same as it does for you manually. Not sure what the problem would be

exec request failed, not support this auth method

This isn't an error from us, it sounds like it would be an error from the server you're connecting to, so maybe you can ask your system administrator for help

PaleNeutron commented 3 months ago

@roblourens

this is verbose log using normal ssh from command line:

> ssh my-remote-server -vvvv
OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
debug1: Reading configuration data C:\\Users\\myusername/.ssh/config
debug1: C:\\Users\\myusername/.ssh/config line 2: Applying options for *
debug1: C:\\Users\\myusername/.ssh/config line 10: Applying options for my-remote-server
debug3: Failed to open file:C:/ProgramData/ssh/ssh_config error:2
debug2: resolve_canonicalize: hostname xxx.xxx.xxx.xxx is address
debug2: ssh_connect_direct
debug1: Connecting to my-remote-server [xxx.xxx.xxx.xxx] port 22.
debug1: Connection established.
debug3: Failed to open file:C:/Users/myusername/.ssh/id_rsa.pub error:2
debug1: identity file C:\\Users\\myusername/.ssh/id_rsa type -1
debug3: Failed to open file:C:/Users/myusername/.ssh/id_rsa-cert error:2
debug3: Failed to open file:C:/Users/myusername/.ssh/id_rsa-cert.pub error:2
debug1: identity file C:\\Users\\myusername/.ssh/id_rsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_for_Windows_8.1
debug1: Remote protocol version 2.0, remote software version TERM-SSHD
debug1: no match: TERM-SSHD
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to xxx.xxx.xxx.xxx:22 as 'myusername/1.2.3.4/user'
debug3: send packet: type 20
debug1: SSH2_MSG_KEXINIT sent
debug3: receive packet: type 20
debug1: SSH2_MSG_KEXINIT received
debug2: local client KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c
debug2: host key algorithms: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa,ssh-dss
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com,zlib
debug2: compression stoc: none,zlib@openssh.com,zlib
debug2: languages ctos:
debug2: languages stoc:
debug2: first_kex_follows 0
debug2: reserved 0
debug2: peer server KEXINIT proposal
debug2: KEX algorithms: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256
debug2: host key algorithms: ssh-rsa,ssh-dss
debug2: ciphers ctos: aes128-ctr,aes192-ctr,aes256-ctr
debug2: ciphers stoc: aes128-ctr,aes192-ctr,aes256-ctr
debug2: MACs ctos: hmac-sha1,hmac-sha2-256,hmac-sha2-512
debug2: MACs stoc: hmac-sha1,hmac-sha2-256,hmac-sha2-512
debug2: compression ctos: none,zlib,zlib@openssh.com
debug2: compression stoc: none,zlib,zlib@openssh.com
debug2: languages ctos:
debug2: languages stoc:
debug2: first_kex_follows 0
debug2: reserved 0
debug1: kex: algorithm: ecdh-sha2-nistp256
debug1: kex: host key algorithm: ssh-rsa
debug1: kex: server->client cipher: aes128-ctr MAC: hmac-sha2-256 compression: none
debug1: kex: client->server cipher: aes128-ctr MAC: hmac-sha2-256 compression: none
debug3: send packet: type 30
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug3: receive packet: type 31
debug1: Server host key: ssh-rsa SHA256:wX8wU5ZG7b6hvpW+hnqnA8Fu7q5nPw+Hq+r2YzhfxT4
debug3: hostkeys_foreach: reading file "C:\\Users\\myusername/.ssh/known_hosts"
debug3: record_hostkey: found key type RSA in file C:\\Users\\myusername/.ssh/known_hosts:2
debug3: load_hostkeys: loaded 1 keys from xxx.xxx.xxx.xxx
debug3: Failed to open file:C:/Users/myusername/.ssh/known_hosts2 error:2
debug3: Failed to open file:C:/ProgramData/ssh/ssh_known_hosts error:2
debug3: Failed to open file:C:/ProgramData/ssh/ssh_known_hosts2 error:2
debug1: Host 'xxx.xxx.xxx.xxx' is known and matches the RSA host key.
debug1: Found key in C:\\Users\\myusername/.ssh/known_hosts:2
debug3: send packet: type 21
debug2: set_newkeys: mode 1
debug1: rekey out after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug3: receive packet: type 21
debug1: SSH2_MSG_NEWKEYS received
debug2: set_newkeys: mode 0
debug1: rekey in after 4294967296 blocks
debug3: unable to connect to pipe \\\\.\\pipe\\openssh-ssh-agent, error: 2
debug1: pubkey_prepare: ssh_get_authentication_socket: No such file or directory
debug1: Will attempt key: C:\\Users\\myusername/.ssh/id_rsa  explicit
debug2: pubkey_prepare: done
debug3: send packet: type 5
debug3: receive packet: type 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50
debug3: receive packet: type 51
debug1: Authentications that can continue: password,keyboard-interactive,publickey
debug3: start over, passed a different list password,keyboard-interactive,publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: C:\\Users\\myusername/.ssh/id_rsa
debug3: unable to connect to pipe \\\\.\\pipe\\openssh-ssh-agent, error: 2
debug3: no authentication agent, not adding key
debug3: sign_and_send_pubkey: RSA SHA256:V+TDYGwVhNGb5QlYuZpPrEo35tV1jM5VnoweI5/73Wg
debug3: sign_and_send_pubkey: signing using ssh-rsa
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: password,keyboard-interactive,publickey
debug2: we did not send a packet, disable method
debug3: authmethod_lookup keyboard-interactive
debug3: remaining preferred: password
debug3: authmethod_is_enabled keyboard-interactive
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug3: send packet: type 50
debug2: we sent a keyboard-interactive packet, wait for reply
debug3: receive packet: type 60
debug2: input_userauth_info_req
Password authentication
debug2: input_userauth_info_req: num_prompts 1
debug3: failed to open file:C:/dev/tty error:3
debug1: read_passphrase: can't open /dev/tty: No such file or directory
Password:
debug3: send packet: type 61
debug3: receive packet: type 52
debug1: Authentication succeeded (keyboard-interactive).
Authenticated to xxx.xxx.xxx.xxx ([xxx.xxx.xxx.xxx]:22).
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug3: send packet: type 90
debug1: Entering interactive session.
debug1: pledge: network
debug1: ENABLE_VIRTUAL_TERMINAL_INPUT is supported. Reading the VTSequence from console
debug3: This windows OS supports conpty
debug1: ENABLE_VIRTUAL_TERMINAL_PROCESSING is supported. Console supports the ansi parsing
debug3: Successfully set console output code page from:65001 to 65001
debug3: Successfully set console input code page from:936 to 65001
debug3: receive packet: type 91
debug2: channel_input_open_confirmation: channel 0: callback start
debug2: fd 3 setting TCP_NODELAY
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug3: send packet: type 98
debug2: channel 0: request shell confirm 1
debug3: send packet: type 98
debug2: channel_input_open_confirmation: channel 0: callback done
debug2: channel 0: open confirm rwindow 2097152 rmax 32768
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug2: PTY allocation request accepted on channel 0
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug2: shell request accepted on channel 0
2nd Password:******
********************************************************************************
$

I think vscode ssh may failed with shell request accepted on channel 0 ?

BTW, how to enable verbose log in vscode ssh connection, thus I can diagnose which step fails.