# SSH Client

**URL:** <https://community.homey.app/t/ssh-client/34044>\
**Category:** Apps\
**Created:** [August 26, 2020, 8:26pm UTC](https://community.homey.app/t/ssh-client/34044 "2020-08-26T20:26:01Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Some1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/some1/32/8283_2.png) [@Some1](https://community.homey.app/u/Some1)\
**Post date:** [August 26, 2020, 8:26pm UTC](https://community.homey.app/t/ssh-client/34044/1 "2020-08-26T20:26:01Z")

</div>

The current version of this app is incompatible with Homey version 5 due to it still making use of the SDK v1. Since development of this app has been absent for quite some time I took it upon myself to rewrite it and make it compatible.

After submitting a pull request the owner replied stating that he stopped developing for Homey and has [asked](https://github.com/kerkenit/nl.marcovantklooster.sshclient/pull/9#issuecomment-678766687) if I’d want to take over ownership of the app.I have since accepted ownership and deployed a new version of this app for testing [here](https://homey.app/nl-nl/app/nl.marcovantklooster.sshclient/SSH-Client/test/).

I would like for some others to do some testing prior to publishing this version to all other users.

So would anyone be willing to test this version of the app and all of it’s features? And would you be willing to provide some feedback?

The new features are:  
Added support for keypair authentication with and without passphrase.  
Added flow trigger for a received response.  
Added flow trigger for a received error.

Normal username/password authentication should of course still work also, and since this is a complete rewrite, this should also be tested.

With kind regards,  
Jonathan

Update: By now I have published the new version of this app, for as far as I know there are no outstanding issues with this app. Updating this app to support SDK v3 requires only updating the SDK version in the app.json file. I have not done so yet as that would break compatibility with older firmware.  
The next update to this app will only be for Homey v5 or later though (SDK v3).

---

<div class="post-metadata">

**Author:** ![Dijker](https://avatars.discourse-cdn.com/v4/letter/d/b9bd4f/32.png) [@Dijker](https://community.homey.app/u/Dijker)\
**Post date:** [August 26, 2020, 8:55pm UTC](https://community.homey.app/t/ssh-client/34044/2 "2020-08-26T20:55:02Z")

</div>

> [@Some1](#):
>
> The long story short:  
> How to transfer ownership of an app?

Get yourself a Developer Account on [Homey Developer Tools](https://developer.athom.com/apps) and then the original Developer can Transfer the App to you when you give him your Athom ID  
(When you go to your Account [https://accounts.athom.com/profile/####SOMEID#####](https://accounts.athom.com/profile/####SOMEID#####))

![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/b/4/b4cef2320932ec36a774c9051e8960fc4f6e9570.png)

![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/f/b/fbbd7f90160eb74d90a3da6ce39ad761e12ea122.png)

---

<div class="post-metadata">

**Author:** ![Some1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/some1/32/8283_2.png) [@Some1](https://community.homey.app/u/Some1)\
**Post date:** [August 26, 2020, 9:06pm UTC](https://community.homey.app/t/ssh-client/34044/3 "2020-08-26T21:06:47Z")

</div>

Thanks, I have passed these instructions on.

---

<div class="post-metadata">

**Author:** ![Some1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/some1/32/8283_2.png) [@Some1](https://community.homey.app/u/Some1)\
**Post date:** [August 27, 2020, 10:33am UTC](https://community.homey.app/t/ssh-client/34044/4 "2020-08-27T10:33:36Z")

</div>

The app can now also be tested from here:

> **[SSH Client](https://homey.app/en-us/app/nl.marcovantklooster.sshclient/SSH-Client/test/)**
>
> Make a SSH connect to a remote server

I have received ownership so can now publish it to the store.

---

<div class="post-metadata">

**Author:** ![Martin\_Verbeek](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/martin_verbeek/32/10641_2.png) [@Martin\_Verbeek](https://community.homey.app/u/Martin_Verbeek)\
**Post date:** [September 5, 2020, 9:47am UTC](https://community.homey.app/t/ssh-client/34044/5 "2020-09-05T09:47:34Z")

</div>

want to use this for openssh on windows 10. generated and added private key at the windows side. But the app keeps giving “config.private key does not exist at given fs path”.  
What is the format i need to specify the private key in the device? Thx for helping.

---

<div class="post-metadata">

**Author:** ![Some1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/some1/32/8283_2.png) [@Some1](https://community.homey.app/u/Some1)\
**Post date:** [September 5, 2020, 10:00am UTC](https://community.homey.app/t/ssh-client/34044/6 "2020-09-05T10:00:58Z")

</div>

The contents of the private key file must be pasted completely, not the public key.

---

<div class="post-metadata">

**Author:** ![jiml](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jiml/32/8455_2.png) [@jiml](https://community.homey.app/u/jiml)\
**Post date:** [September 12, 2020, 1:32pm UTC](https://community.homey.app/t/ssh-client/34044/7 "2020-09-12T13:32:18Z")

</div>

Following the install of updated app. I had to rebuild my SSH devices (only 2) from scratch for some reason the old ones just refused to play ball. But it’s now all working fine. The new response and error notifications are working fine too.

---

<div class="post-metadata">

**Author:** ![Some1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/some1/32/8283_2.png) [@Some1](https://community.homey.app/u/Some1)\
**Post date:** [September 12, 2020, 2:25pm UTC](https://community.homey.app/t/ssh-client/34044/8 "2020-09-12T14:25:49Z")

</div>

Thanks you for your response.

As I only have one Homey you can understand I could not test what happens after updating. I could not install the old version of the app as I am on v5. I did try to keep the action card and device settings backward compatibele. Too bad that updating breaks something.

I am glad to hear all is working as expected with the new features of response and error trigger cards also.

Thank you for your reply!

---

<div class="post-metadata">

**Author:** ![Martijn\_Hoogenbosch](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/martijn_hoogenbosch/32/10647_2.png) [@Martijn\_Hoogenbosch](https://community.homey.app/u/Martijn_Hoogenbosch)\
**Post date:** [November 19, 2020, 9:41pm UTC](https://community.homey.app/t/ssh-client/34044/9 "2020-11-19T21:41:21Z")

</div>

How can I push a couple of commands. I now manually upgrade my docker image. For this I do the following

```
sudo su -
<password>
cd /volume1/docker/
./create_unifi_container.sh

```

The latter is a script i’ve created to kill and delete the current container, update the latest image, copy the latest certificates and start up the container again.

---

<div class="post-metadata">

**Author:** ![Some1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/some1/32/8283_2.png) [@Some1](https://community.homey.app/u/Some1)\
**Post date:** [November 19, 2020, 10:12pm UTC](https://community.homey.app/t/ssh-client/34044/10 "2020-11-19T22:12:57Z")

</div>

Passwords are hard to do in a batch / cron. Executing a bash script is not a problem.

---

<div class="post-metadata">

**Author:** ![Tom\_Homey](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/tom_homey/32/30276_2.png) [@Tom\_Homey](https://community.homey.app/u/Tom_Homey)\
**Post date:** [December 28, 2020, 1:38pm UTC](https://community.homey.app/t/ssh-client/34044/11 "2020-12-28T13:38:01Z")

</div>

Hi,

I was playing around a bit with it and first ran into problems. I usually secure my servers to only allow “good” ciphers like:

```
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes256-ctr
KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
MACs hmac-sha2-512-etm@openssh.com,,hmac-sha2-256-etm@openssh.com,hmac-sha2-512

```

That led to the situation that the ssh client hang at

```
Dec 28 14:16:22 pi sshd[3125]: debug1: SSH2_MSG_KEX_DH_GEX_REQUEST received [preauth]
Dec 28 14:16:22 pi sshd[3125]: debug3: mm_request_send entering: type 0 [preauth]
Dec 28 14:16:22 pi sshd[3125]: debug3: mm_choose_dh: waiting for MONITOR_ANS_MODULI [preauth]
Dec 28 14:16:22 pi sshd[3125]: debug3: mm_request_receive_expect entering: type 1 [preauth]
Dec 28 14:16:22 pi sshd[3125]: debug3: mm_request_receive entering [preauth]
Dec 28 14:16:22 pi sshd[3125]: debug3: mm_request_receive entering
Dec 28 14:16:22 pi sshd[3125]: debug3: monitor_read: checking request 0
Dec 28 14:16:22 pi sshd[3125]: debug3: mm_answer_moduli: got parameters: 2048 4096 8192
Dec 28 14:16:22 pi sshd[3125]: debug3: mm_request_send entering: type 1
Dec 28 14:16:22 pi sshd[3125]: debug2: monitor_read: 0 used once, disabling now
Dec 28 14:16:22 pi sshd[3125]: debug3: mm_choose_dh: remaining 0 [preauth]
Dec 28 14:16:22 pi sshd[3125]: debug1: SSH2_MSG_KEX_DH_GEX_GROUP sent [preauth]
Dec 28 14:16:22 pi sshd[3125]: debug3: send packet: type 31 [preauth]
Dec 28 14:16:22 pi sshd[3125]: debug2: bits set: 2063/4096 [preauth]
Dec 28 14:16:22 pi sshd[3125]: debug1: expecting SSH2_MSG_KEX_DH_GEX_INIT [preauth]

```

Only after I added “ecdh-sha2-nistp256” to the list of kex restrictions I could get it to work. The kex is okay, but there are certain concerns in the security about the strongness of this algo. Is there anything particular you did or did not to only allow certain KEXes?

Best,

Thomas

---

<div class="post-metadata">

**Author:** ![Some1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/some1/32/8283_2.png) [@Some1](https://community.homey.app/u/Some1)\
**Post date:** [December 28, 2020, 2:22pm UTC](https://community.homey.app/t/ssh-client/34044/12 "2020-12-28T14:22:21Z")

</div>

I simply made use of [node-ssh](https://github.com/steelbrain/node-ssh). What is and is not supported is directly the result of the support offered in that repository.

I intended to keep this app lightweight and this repository seemend right for that purpose.  
The previous version of this app of the former developer did not support keypair authentication at all, so I figured this was a major improvement as it is.

---

<div class="post-metadata">

**Author:** ![sjoerd](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sjoerd/32/6139_2.png) [@sjoerd](https://community.homey.app/u/sjoerd)\
**Post date:** [January 7, 2021, 9:32pm UTC](https://community.homey.app/t/ssh-client/34044/13 "2021-01-07T21:32:14Z")

</div>

Having a problem with the SSH. Have created two SSH Server. But the command I want to send gets only send to the last server I created even if I selected the first SSH server.

---

<div class="post-metadata">

**Author:** ![Some1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/some1/32/8283_2.png) [@Some1](https://community.homey.app/u/Some1)\
**Post date:** [January 8, 2021, 9:38pm UTC](https://community.homey.app/t/ssh-client/34044/14 "2021-01-08T21:38:15Z")

</div>

I will be taking a look at that, I am not sure when I will have the time for it though.

---

<div class="post-metadata">

**Author:** ![sjoerd](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sjoerd/32/6139_2.png) [@sjoerd](https://community.homey.app/u/sjoerd)\
**Post date:** [January 8, 2021, 10:02pm UTC](https://community.homey.app/t/ssh-client/34044/15 "2021-01-08T22:02:17Z")

</div>

If I can help with testing let me know.

---

<div class="post-metadata">

**Author:** ![Pieter\_Pessers](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/pieter_pessers/32/8848_2.png) [@Pieter\_Pessers](https://community.homey.app/u/Pieter_Pessers)\
**Post date:** [January 15, 2021, 11:56pm UTC](https://community.homey.app/t/ssh-client/34044/16 "2021-01-15T23:56:25Z")

</div>

I have the same problem as @sjoerd. Maybe some extra information what can help.

The last one added is the one with a red aclamation mark with the code:" error:{errno";“EHOSTUNREACH”,“EHOSTUNREACH”,“syscall”,“connect”,“address”,“192.168.1.100”,“port”:22,“level”,“client-socket”}". This is strange, because this is the raspberrypi that is listening to both added SSH-client on homey when i give the command:“sudo shutdown -h now”. Is the last added SSH-client maybe overwriting the first added SSH-client instead of adding a second new one?

---

<div class="post-metadata">

**Author:** ![Some1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/some1/32/8283_2.png) [@Some1](https://community.homey.app/u/Some1)\
**Post date:** [January 20, 2021, 10:21pm UTC](https://community.homey.app/t/ssh-client/34044/17 "2021-01-20T22:21:06Z")

</div>

@sjoerd @Pieter_Pessers  
Good news, I have been able to reproduce your issue!

I have found that getting the device settings from within the device action trigger does not return the device settings but actually the settings from the last device.  
I have found the way to get the correct settings and applied that in a new release that is ready to be tested.

The new version of the app can be tested [here](https://homey.app/nl-nl/app/nl.marcovantklooster.sshclient/SSH-Client/test/).

I would appreciate it if you would be so kind as to let me know if everything works as expected.

---

<div class="post-metadata">

**Author:** ![Pieter\_Pessers](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/pieter_pessers/32/8848_2.png) [@Pieter\_Pessers](https://community.homey.app/u/Pieter_Pessers)\
**Post date:** [January 20, 2021, 11:17pm UTC](https://community.homey.app/t/ssh-client/34044/18 "2021-01-20T23:17:41Z")

</div>

Strange enough is the other raspberry pi listening to the “sudo shutdown -h now” and is the previous working raspberry pi ignoring this with a red exclamation mark in the flow. By device i get the error:"error: “level”:“client-authentication”  
Do be sure i removed and reattached them both, but that didn’t help.

---

<div class="post-metadata">

**Author:** ![Pieter\_Pessers](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/pieter_pessers/32/8848_2.png) [@Pieter\_Pessers](https://community.homey.app/u/Pieter_Pessers)\
**Post date:** [January 21, 2021, 4:08pm UTC](https://community.homey.app/t/ssh-client/34044/19 "2021-01-21T16:08:37Z")

</div>

It works perfect now with V0.3.5. Both raspberry pi’s receive the command:“sudo shutdown -h now” without interfering each other.

Happy with it. Thank you very much.

---

<div class="post-metadata">

**Author:** ![Some1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/some1/32/8283_2.png) [@Some1](https://community.homey.app/u/Some1)\
**Post date:** [January 25, 2021, 8:30am UTC](https://community.homey.app/t/ssh-client/34044/20 "2021-01-25T08:30:57Z")

</div>

V0.3.5 is now live.

In this version:  
Added a state reset upon updating device settings (remove exclamation mark from a device that had a problem).  
Using multiple servers now working properly.

[Next page](https://community.homey.app/t/ssh-client/34044.md?page=2)
