Dee
Dee

Reputation: 11

SSH and SCP commands fail to execute after successful SSH key authentification with error message: Win32 error 1114

I am trying to automate file transfers from Linux on an Odroid XU4 (Linux) to my computer on windows.

I can authenticate with an SSH key to my windows machine and even get access to the MobaXterm terminal from my Odroid but when I try to send an ssh or scp command such as ssh User@IP [command] or scp [file] User@IP:[destination] I get the following error:

1 [main] sshd 11572 C:\WINDOWS\SysWOW64\bsh\usr\sbin\sshd.exe: *** fatal error - unable to load C:\WINDOWS\system32\user32.dll, Win32 error 1114


I do not understand where this is coming from for the following reasons:

I am still quite new to making SSH/SCP communication protocols, could it be that I modified the "channel" which is used to access the remote host? Has anyone came across and overcame this issue?


The only documentation I found on this bug is related to cygwin but they are all over 5 years old and use Windows Server 2003, 1, 2. Some suggest adding permissions following this, but I already have them so I'm running out of ideas on how to debug this.


I am joining my configuration and the full callback of this error underneath. As well as what I tried on Python before everything breaks. Let me know if you need more information.


My setup:


Local host: Odroid XU4 - Linux

Remote host: Windows 10 - 64 bits


Python


On python, I used the Paramiko and scp libraries. I tried the following commands:

from paramiko import SSHClient 
from scp import SCPClient

ssh=SSHClient()
ssh.load_system_host_keys()
ssh.connect(hostname, username=USER)

This made me connect successfully. Then I tried two ways of sending a file over via paramiko and scp. From there I started to get the error and now, even when I use the terminal to send the commands, I get the error above.

os.system('scp dir/test.png USER@IP:"/cygdrive/c/Users/USER/Box/"')

and with scp:

def progress(filename, size, sent):
    sys.stdout.write("%s\'s progress: %.2f%%   \r" % (filename, float(sent)/float(size)*100))

scp = SCPClient(ssh.get_transport(), progress=progress)
scp.put(local_file, remote_destination)

Full Callback


odroid@odroid:~$ scp -v dir/test.png
USER@IP:"/cygdrive/c/Users/USER/Box/"
Executing: program /usr/bin/ssh host IP, user USER, command scp -v -t /cygdrive/c/Users/USER/Box/
OpenSSH_7.6p1 Ubuntu-4ubuntu0.1, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to IP [IP] port 22.
debug1: Connection established.
debug1: identity file /home/odroid/.ssh/id_rsa type 0
debug1: key_load_public: No such file or directory
debug1: identity file /home/odroid/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/odroid/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/odroid/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/odroid/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/odroid/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/odroid/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/odroid/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.1
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.1
debug1: match: OpenSSH_7.1 pat OpenSSH* compat 0x04000000
debug1: Authenticating to IP:22 as 'USER'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: [email protected]
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: [email protected] MAC: compression: none
debug1: kex: client->server cipher: [email protected] MAC: compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256
SHA256: ksdJSQNSèsQ987S8SKHGSJBSQqshdfqf87kjj
debug1: Host 'IP' is known and matches the ECDSA host key.
debug1: Found key in /home/odroid/.ssh/known_hosts:1
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey debug1: Offering public key: RSA
SHA256:JBSQqshdfqf87kjj/fqf87kjjG2EGCSQqshhDsd /home/odroid/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: Authentication succeeded (publickey).
Authenticated to IP ([IP]:22).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: pledge: network
debug1: client_input_global_request: rtype [email protected] want_reply 0
debug1: Sending environment.
debug1: Sending command: scp -v -t /cygdrive/c/Users/USER/
1 [main] sshd 13224 C:\WINDOWS\SysWOW64\bsh\usr\sbin\sshd.exe: *** fatal error - unable to load C:\WINDOWS\system32\user32.dll, Win32 error 1114 debug1: client_input_channel_req: channel 0 rtype exit-signal reply 0
debug1: client_input_channel_req: channel 0 rtype [email protected] reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 2748, received 2932 bytes, in 0.3 seconds
Bytes per second: sent 9984.6, received 10653.1
debug1: Exit status -1
lost connection

Upvotes: 1

Views: 1620

Answers (1)

matzeri
matzeri

Reputation: 8466

The fatal error is not due to cygwin sshd but to the W10 one as mentioned in the error message:

C:\WINDOWS\SysWOW64\bsh\usr\sbin\sshd.exe

The Cygwin one is installed under

$ cygpath -w /usr/sbin/sshd.exe
C:\cygwin64\usr\sbin\sshd.exe

To use the Cgwin sshd you need to remove or disable the W10 one as service and enable the Cygwin one.

https://cygwin.com/ml/cygwin/2018-06/msg00276.html

Upvotes: 0

Related Questions