

For that I’ve decided to use zsh aliases and have device groups encoded in the alias name, separated by dashes. Now I am able to login the device by simply typing its name: $ ssh arista In my case all what I had to do was define IP addresses of my network devices: Host srx Configuration file allows you to define per-host SSH settings including username, port forwarding options, key checking flags etc. OpenSSH client config file provides a nice way of managing user’s SSH sessions. Its functionality mimics the one of ssh-copy-id, so the next step is always to upload the public key to the device: $ ssh-copy-net 10.6.142.1 juniper Assuming python-pip is already installed here’s what’s required to download and install ssh-copy-net: $ pip install git+ I’ve written a little tool that uses Netmiko to install (and remove) public SSH keys onto network devices. I’ve finally managed to make everything work inside the native GNOME terminal and this post is a documentation of my approach.

I also didn’t want to wrap my SSH session in expect as I didn’t want my password to be pasted in my screen every time I cat a file containing the trigger keyword Password. Ideally I wanted to keep using GNOME terminal as the main terminal emulator, without having to configure and rely on other 3rd party apps. I briefly looked and PAC Manager and GNOME Connection Manager but quickly dismissed them due to their ugliness and clunkiness.


