atsign-foundation / noports

Connect to any device with no external listening ports open
https://noports.com
BSD 3-Clause "New" or "Revised" License
265 stars 15 forks source link

Naming service for large scale rollouts of SSH No Ports #1007

Open cconstab opened 4 months ago

cconstab commented 4 months ago

Is your feature request related to a problem? Please describe.

Once you have more than 25 devices on an atSign then you have to use a new atSign for the next 25 devices etc etc

This is painful for larger rollouts

Describe the solution you'd like

Have a naming atSign that can be referenced by sshnp to provide the needed arguments for logging into a particular sshnpd. This could also be shared and policed by the policy atsign for groups of people.

My like ~/.ssh/config but for SSH No Ports and using atSigns not config files.

For example

sshnp -f <from atSign> -c <config atSign> -d <device>

and the config atSign provides the , , etc etc

to set the config/change something like:-

sshnp -f <from atSign> -sc <config atSign> -d <device> <bunch of JSON>

Describe alternatives you've considered

config files are fine but having to keep them upto date everywhere is a pain.. This could be super cool for .dofiles as well.

Perhaps a default atSign in ~/.atssign/config would save typing it all the time ?

Additional context

No response

XavierChanth commented 2 months ago

SSHNP already supports config files, although they are currently in a .env style, which is inflexible and hard to read. I would like to migrate to json or toml, probably toml since it's easy to read & parse. The installer currently writes to np.sh with a bunch of defaults, we could instead write these to ~/.config/atsign/sshnp.toml.

cconstab commented 2 months ago

Having the config owned by an atSign also allows many atSigns to share the config as a client. In other words the remote atSign and the de vice name can be used by N number of client atSigns.