Home Assistant Community Add-on: SSH & Web Terminal

:tada: Release v4.0.0

Full Changelog

Major upgrade!
Upgrades all parts onto our new base images (based on Alpine 3.9.2), adds ARMv7 support :tada:

Changed

  • Removal of legacy tags from build
  • Upgrades add-on base image to 3.0.0
  • Upgrades Docker to 18.09.1-r0
  • Upgrades libffi to 3.2.1-r6
  • Upgrades Python to 3.6.8-r1
  • Upgrades bluez to 5.50-r0
  • Upgrades device-mapper-libs to 2.02.182-r0
  • Upgrades git to 2.20.1-r0
  • Upgrades nmap to 7.70-r3
  • Upgrades OpenSSH to 7.9_p1-r4
  • Upgrades libxml2-utils to 2.9.9-r1
  • Upgrades mariadb-client to 10.3.13-r0
  • Upgrades mosh to 1.3.2-r7
  • Upgrades mosquitto-clients to 1.5.6-r0
  • Upgrades nano-syntax to 3.2-r0
  • Upgrades nano to 3.2-r0
  • Upgrades openssl to 1.1.1b-r1
  • Upgrades ncurses to 6.1_p20190105-r0
  • Upgrades sqlite to 3.26.0-r3
  • Upgrades sudo to 1.8.25_p1-r2
  • Upgrades tmux to 2.8-r0
  • Upgrades vim to 8.1.0630-r0
  • Upgrades zip to 3.0-r7
  • Upgrades zsh to 5.6.2-r0
  • Upgrades zsh-autosuggestions to 0.5.0-r0
  • Replaces ttyd custom build with package
  • Adds support for ARMv7
  • Makes log_level optional
  • Removes custom log format override
  • Merge fix-attr scripts
  • Rewrite add-on onto Bashio
  • Fixes typo in GitLab CI file

Questions? Join our Discord server! https://discord.me/hassioaddons
Enjoying my add-ons? Consider supporting my work: https://patreon.com/frenck

:tada: Release v4.0.1

Full Changelog

Changed

  • Workaround Docker issue by reinstating legacy tags
  • Fixes Docker commands

Questions? Join our Discord server! https://discord.me/hassioaddons
Enjoying my add-ons? Consider supporting my work: https://patreon.com/frenck

I get this error after last upgrade:

[cont-init.d] 80-user-packages.sh: executing... 
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/armv7/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/community/armv7/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.9/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.b89edf6e.tar.gz: No such file or directory
fetch http://dl-cdn.alpinelinux.org/alpine/edge/main/armv7/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.9/community: temporary error (try again later)
WARNING: Ignoring APKINDEX.737f7e01.tar.gz: No such file or directory
ERROR: http://dl-cdn.alpinelinux.org/alpine/edge/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.066df28d.tar.gz: No such file or directory
fetch http://dl-cdn.alpinelinux.org/alpine/edge/community/armv7/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/edge/community: temporary error (try again later)
fetch http://dl-cdn.alpinelinux.org/alpine/edge/testing/armv7/APKINDEX.tar.gz
WARNING: Ignoring APKINDEX.b53994b4.tar.gz: No such file or directory
ERROR: http://dl-cdn.alpinelinux.org/alpine/edge/testing: temporary error (try again later)
WARNING: Ignoring APKINDEX.30e6f5af.tar.gz: No such file or directory
5 errors; 127 distinct packages available
[22:21:16] FATAL: Failed updating Alpine packages repository indexes
[cont-init.d] 80-user-packages.sh: exited 1.
[cont-finish.d] executing container finish scripts...
[cont-finish.d] 99-message.sh: executing... 
-----------------------------------------------------------
                Oops! Something went wrong.

 We are so sorry, but something went terribly wrong when
 starting or running this add-on.
 
 Be sure to check the log above, line by line, for hints.
-----------------------------------------------------------
[cont-finish.d] 99-message.sh: exited 0.
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.

@keteflips Could you share your config? (without credentials of course)

{
  "log_level": "info",
  "ssh": {
    "enable": true,
    "port": 22,
    "username": "keteflips",
    "password": "tadada",
    "authorized_keys": [
      "ssh-rsa  ",
      "ssh-rsa ",
      "ssh-rsa"
    ],
    "sftp": false,
    "compatibility_mode": false,
    "allow_agent_forwarding": false,
    "allow_remote_port_forwarding": false,
    "allow_tcp_forwarding": false
  },
  "web": {
    "enable": true,
    "port": 8145,
    "username": "keteflips",
    "password": "tadada",
    "ssl": true,
    "certfile": "fullchain.pem",
    "keyfile": "privkey.pem"
  },
  "share_sessions": true,
  "packages": [
    "python",
    "python-dev",
    "py-pip",
    "build-base"
  ],
  "init_commands": []
}

Hello. After upgrading to latest 4.0.1. Terminal web accessed via https, giving me 400 error.

Log:

[2019/03/18 11:03:39:4072] ERR: lws_tls_server_vhost_backend_init: SSL_CTX_load_verify_locations unhappy
[2019/03/18 11:03:39:4694] ERR: Unable to load SSL Client certs file from  -- client ssl isn't going to work

system:

 Add-on version: 4.0.1
 You are running the latest version of this add-on.
 System: HassOS 1.11  (armv7 / raspberrypi3)
 Home Assistant version: 0.89.1
 Supervisor version: 148

Any ideas? Thanks.

@keteflips

That config just works on my end…

ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.9/main: temporary error (try again later)

Are you having DNS issues?

@kpcz That issue is being tracked here: https://github.com/hassio-addons/addon-ssh/issues/64

1 Like

I can resolve this domain in my ssh console in hassio.

core-ssh:/config# ping dl-cdn.alpinelinux.org
PING dl-cdn.alpinelinux.org (151.101.132.249): 56 data bytes
64 bytes from 151.101.132.249: seq=0 ttl=54 time=12.387 ms
64 bytes from 151.101.132.249: seq=1 ttl=54 time=12.313 ms
64 bytes from 151.101.132.249: seq=2 ttl=54 time=11.235 ms
^C
--- dl-cdn.alpinelinux.org ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 11.235/11.978/12.387 ms

Unfortunately, that is not a test for this, since that add-on (core ssh) does not run on the host network. Hass.io uses 2 different methods for resolving, depending if the add-on runs on the host network or not.

:tada: Release v4.0.2

Full Changelog

Changed

  • Fixes issue with webterminal on SSL by using older libwebsockets
  • Adds backport of libwebsockets 3.0.1 to support armv7

Questions? Join our Discord server! https://discord.me/hassioaddons
Enjoying my add-ons? Consider supporting my work: https://patreon.com/frenck

:tada: Release v4.0.3

Full Changelog

Changed

  • :arrow_up: Upgrades add-on base image to 3.0.1

Questions? Join our Discord server! https://discord.me/hassioaddons
Enjoying my add-ons? Consider supporting my work: https://patreon.com/frenck

:tada: Release v4.1.0

Full Changelog

Changed

  • :arrow_up: Upgrades hassio-cli to v2.2.0
  • :sparkles: Adds support for using secrets as authorized_keys

Questions? Join our Discord server! https://discord.me/hassioaddons
Enjoying my add-ons? Consider supporting my work: https://patreon.com/frenck

:tada: Release v5.0.0

Full Changelog

This release adds Hass.io Ingress support to the add-on :tada:

Changed

  • :ambulance: :hammer: :rocket: Changes base image running Python 3.7.3
  • :fire: Removes now obsolete local Python setup
  • :hammer: Reduce image size a little
  • :arrow_up: Upgrades base image to v1.1.0
  • :arrow_up: Upgrades bind-tools to 9.12.3_p4-r0
  • :arrow_up: Upgrades wget to 1.20.3-r0
  • :hammer: Improves S6 finish scripts
  • :sparkles: Adds Hassio Ingress support + General refactor
  • :shirt: Fixes Markdownlint warnings

Questions? Join our Discord server! https://discord.me/hassioaddons
Enjoying my add-ons? Consider supporting my work: https://patreon.com/frenck

Did I miss a breaking change about ‘port’ being removed from the ssh section? I guess it comes from the Ingress support after reading about that.

Can still set them under network
image

1 Like

Just updated to 0.91.3 and then updated this addon to 5.0.0 but I get the error “502: Bad Gateway” using Chrome.

I’ve already cleared the cache of the browser.

Any suggestion?

In the meantime I will revert back to previous version of the addon that is necessary to me.

3 Likes

It’s working fine for me. WHat are your addon settings? Did you add the ports under network?

Thanks @DavidFW1960

The issue was the SSH port 22 which was already in use.

I’ve reset to default settings and modify what needed, then removed the port from Web Terminal and change the SSH port to another one.

And it’s working.

Now to have it work as standalone in browser (I don’t use it within Hassio, but as a new browser tab) what should I do?

Opening from “OPEN WEB UI” i have something like
http://my_ip:8123/hassio/ingress/somechar_ssh
but it does not work.

Is there a way to use it in plain view, not within the Hassio page?

Thanks

1 Like

You should use ipaddress:whatever port you specified for web terminal … 7681 in my screenshot above