Bash Command Line SSH Connection Manager on a Chromebook

Bash Command Line SSH Connection Manager on a Chromebook

One of the things I love about the Chromebook is something the uninitiated knock, which considering what Microsoft is doing with Windows 11 is slightly ironic. As well as the great ChromeOS web-based, no-fuss interface Google has added access to Android Apps via the play store and a Debian based Linux shell.

Detractors say this is Google trying to bolt-on usefulness, which I guess with Windows Linux System and Amazon Android Apps isn't at all what Microsoft are doing.

I spend a huge amount of time in the Linux shell in ChromeOS directly or indirectly by launching apps like VSCode or MailSpring.

Something I do a LOT is ssh onto the boxes on my home LAN, I use Termius for Linux (although i could quite easily use the Android app on the Chromebook too.

Termius - SSH platform for Mobile and Desktop
The #1 cross-platform terminal for Windows, macOS, Linus, iOS, and Android with built-in ssh client which works as your own portable server management system in any situation.

On a rare occasion I'll ssh to something from the Linux shell in ChromeOS and I was thinking yesterday is there a bash based SSH Connection Manager

The answer to this is of course there is this is Linux.

The answer for me was nccm

GitHub - flyingrhinonz/nccm
Contribute to flyingrhinonz/nccm development by creating an account on GitHub.

Install nccm

The Gitlab page covers in detail the setup and install of nccm, on my Chromebook i run the following:

  • Clone the project from the git repository: git clone https://github.com/flyingrhinonz/nccm nccm.git
  • cd nccm.git/nccm/
  • sudo install -m 755 nccm -t /usr/local/bin/

The ssh connections/config file nccm.yml should be copied to any one of the following locations, and is loaded from the first location found in the following order:

  • ~/.config/nccm/nccm.yml
  • ~/.nccm.yml
  • ~/nccm.yml
  • /etc/nccm.yml

Then edit the nccm.yaml, it's filled with a lot of options which I kept in place and changed the

# connections configs:

mychat.lan:
  address: 192.168.92.150
  comment: Rocket Chat
  user: david
mymedia.lan:
  address: 192.168.92.248
  comment: Plex
  user: david
myjumpbox.lan:
  address: 192.168.92.20
  comment: Jumpon point
  user: david

I've got passwordless SSH setup on the Chromebook to the remote sites  

SSH Passwordless Login Using SSH Keygen in 5 Easy Steps
In this example we will setup SSH password-less automatic login from server 192.168.0.12 as user michele to 192.168.0.11 with user frankie.

Once the nccm.yml is updated run from the command line

nccm

The ncurses interface then displays

0     mychat.lan          david@192.168.92.150     Rocket Chat
1     mymedia.lan         david@192.168.92.248     Plex
2     myjumpbox.lan       david@192.168.92.20      Jumpon point

Press the number of the box you want to ssh to and the connection is made.

OK, so it takes a little to set up, if you've to a few machines it can save some time later...

Further Chromebook Reading

https://tech.davidfield.co.uk/tag/chromeos/

https://tech.davidfield.co.uk/supercharge-your-chromebook-linux-shell/

https://tech.davidfield.co.uk/the-chromebook-linux-shell-update-3/


Share Tweet Send
0 Comments
Loading...
You've successfully subscribed to Tech Blog Posts - David Field
Great! Next, complete checkout for full access to Tech Blog Posts - David Field
Welcome back! You've successfully signed in
Success! Your account is fully activated, you now have access to all content.