• cosmic_slate@dmv.social
    link
    fedilink
    English
    arrow-up
    14
    ·
    edit-2
    11 months ago

    You may want to look at the .ssh/config file in your user directory as a destination to save configuration items. The bonus is that other utilities using ssh get to use the entries you’ve configured (i.e. scp)

    Check out: https://www.man7.org/linux/man-pages/man5/ssh_config.5.html

    An example entry in ~/.ssh/config would look like:

    Host myserver.net
        User your_username
    

    Then any time you run ssh myserver.net, it’ll use the user you specify here by default.

    • ɐɥO@lemmy.ohaa.xyzOP
      link
      fedilink
      arrow-up
      3
      arrow-down
      2
      ·
      11 months ago

      Then any time you run ssh myserver.net, it’ll use the user you specify here by default.

      Wouldnt really help in my use case bc I use the same user on every server

      • Fal@yiffit.net
        link
        fedilink
        English
        arrow-up
        8
        ·
        11 months ago

        It was just an example. What does your script do that wouldn’t be configurable in ssh config

      • cosmic_slate@dmv.social
        link
        fedilink
        English
        arrow-up
        6
        ·
        edit-2
        11 months ago

        It’s config language is designed for that, too. The following should work:

        # Set default username across all hosts
        Host *
            User default_username
        

        or

        # To match "host1..3"
        Match Host host1.example.com host2.example.com host3.example.com
            User default_username
        

        I still think the script is a good idea. I do something similar with a shell script to add entries. Your choice of Python would make maintaining and parsing a lot more straightforward than shell.

      • __init__@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        11 months ago

        The “host” is just your friendly name for the connection, not necessarily the hostname of the remote host. You can specify the same username or hostname as many times as you want. My config is made up of mostly blocks like this:

        Host server1
            HostName server1.you.com
            User your_ssh_username
            IdentityFile ~/.ssh/yourprivatekey.pem
          
        Host server2
            HostName server2.you.com
            User your_ssh_username
            IdentityFile ~/.ssh/yourprivatekey.pem