I know I can ssh directly into my servers in the terminal, but it’s a pain to manage that when I have several machines with different credentials and memorizing up addresses. Is there an easier way to do it via the terminal, or is there another software like putty on windows that could manage all of my connections for me?

  • I just use ssh keys and put aliases for IP addresses in my ~/.ssh/config. For example:

    Host router
        HostName 192.168.1.1
        User admin
        Port 227
        IdentityFile ~/.ssh/id_ed25519
    

    That way I can just type ssh router everything works out.

    • This is what I do as well. A nice benefit of this approach is that other commands and applications that use ssh work as well… scp, rsync, TRAMP in Emacs, management tools, shell scripts etc.

  • Personally, I use dedicated tmux sessions predefined with various SSH commands.

    But in general, if you’re not using ~/.ssh/config then you’re making your life more difficult.

    If you wanted something a little more graphical, I have coworkers that use various configurations of Dmenu. They press a hot key and the menu displays a list of all SSH profiles in your config. They can pick one, press enter, and a terminal opens with the connection already in the process of being established.