PowerShell resin ssh - 'Could not create directory '/home/Raphael/.ssh'

Hi,

I tried to create a ssh connection to a device using the resin ssh command. The command and device work fine if I set up a Docker Container which installs resin-cli. But i can not get it working on my Windows machine.

EDIT Everything works fine on bash as well.

I did document the ‘procedure’:

# Sets the execution policy and downloads / installs chocolatey.
 Set-ExecutionPolicy Unrestricted
 Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
 refreshenv

 choco upgrade chocolatey

 #if you already have git do not install it again! 
 choco install git -y

 #is required tomake npm available
 choco install nodejs.install -y
 choco install rsync -y
 refreshenv

 #install the cli tool
 npm install --global --production windows-build-tools
 npm install --global --production resin-cli resin-plugin-img

The resin-cli functions work (I can list the devices and so on). But when i run resin ssh i get the following result:

λ resin ssh 631287
Connecting to: 631287
Could not create directory '/home/Raphael/.ssh'.
Permission denied (publickey).

What is the problem with resin ssh ? The normal ssh command works properly. (and does use the right path to the rsa key files as well)

Hi,
What version of Windows are you using?
What shell are you using to execute these commands?
Can you run the resin ssh command using the -v flag and post the output?

I got Windows 10 Pro (up to date) and use PowerShell (with Cmder as UI)

Here the verbose output:

Connecting to: 631287
OpenSSH_7.1p1, OpenSSL 1.0.2e 3 Dec 2015
debug2: ssh_connect: needpriv 0
debug1: Connecting to ssh.resindevice.io [52.45.185.102] port 22.
debug1: Connection established.
Could not create directory '/home/Raphael/.ssh'.
debug1: key_load_public: No such file or directory
debug1: identity file /home/Raphael/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/Raphael/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/Raphael/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/Raphael/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/Raphael/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/Raphael/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/Raphael/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/Raphael/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.1
debug1: Remote protocol version 2.0, remote software version Go
debug1: no match: Go
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to ssh.resindevice.io:22 as 'USER'
debug3: hostkeys_foreach: reading file "/dev/null"
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1
debug2: kex_parse_kexinit: 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,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,ssh-rsa
debug2: kex_parse_kexinit: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: 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,hmac-md5-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: 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,hmac-md5-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,arcfour256,arcfour128
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,arcfour256,arcfour128
debug2: kex_parse_kexinit: hmac-sha2-256-etm@openssh.com,hmac-sha2-256,hmac-sha1,hmac-sha1-96
debug2: kex_parse_kexinit: hmac-sha2-256-etm@openssh.com,hmac-sha2-256,hmac-sha1,hmac-sha1-96
debug2: kex_parse_kexinit: none
debug2: kex_parse_kexinit: none
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug1: kex: server->client aes128-ctr hmac-sha2-256-etm@openssh.com none
debug1: kex: client->server aes128-ctr hmac-sha2-256-etm@openssh.com none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ssh-rsa SHA256:trG+MB5rwda/uq2Wz6gQ8aiQ1g8dn9MXbud/1HV+KM4
debug3: hostkeys_foreach: reading file "/dev/null"
debug3: hostkeys_foreach: reading file "/dev/null"
Warning: Permanently added 'ssh.resindevice.io,52.45.185.102' (RSA) to the list of known hosts.
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: pubkey_prepare: ssh_get_authentication_socket: No such file or directory
debug2: key: /home/Raphael/.ssh/id_rsa (0x0),
debug2: key: /home/Raphael/.ssh/id_dsa (0x0),
debug2: key: /home/Raphael/.ssh/id_ecdsa (0x0),
debug2: key: /home/Raphael/.ssh/id_ed25519 (0x0),
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list 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: /home/Raphael/.ssh/id_rsa
debug3: no such identity: /home/Raphael/.ssh/id_rsa: No such file or directory
debug1: Trying private key: /home/Raphael/.ssh/id_dsa
debug3: no such identity: /home/Raphael/.ssh/id_dsa: No such file or directory
debug1: Trying private key: /home/Raphael/.ssh/id_ecdsa
debug3: no such identity: /home/Raphael/.ssh/id_ecdsa: No such file or directory
debug1: Trying private key: /home/Raphael/.ssh/id_ed25519
debug3: no such identity: /home/Raphael/.ssh/id_ed25519: No such file or directory
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).

Windows support for resin ssh is not fully in place, we recommend using something like bash or git for running this command. Please see the resin-cli readme for more information https://github.com/resin-io/resin-cli#windows-support

on MINGW64 it works fine :slight_smile:

Thanks, I did miss the part where it says it is not supported on CMD / PowerShell.

Great! I’m glad I could help :smiley_cat:

I figured out what was causing the Problem:

The ssh that comes with chocolatey has problems with the home path. I change my path variable to use the ssh from git everything works as expected.