Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tweag/ssh-participation
An ssh server that creates new users on-the-fly, great for letting users participate in a demo
https://github.com/tweag/ssh-participation
nix ssh-server user-management
Last synced: about 1 month ago
JSON representation
An ssh server that creates new users on-the-fly, great for letting users participate in a demo
- Host: GitHub
- URL: https://github.com/tweag/ssh-participation
- Owner: tweag
- License: mit
- Created: 2021-08-10T18:25:16.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-12-18T22:07:33.000Z (about 1 year ago)
- Last Synced: 2024-11-14T00:40:40.833Z (2 months ago)
- Topics: nix, ssh-server, user-management
- Language: Nix
- Homepage:
- Size: 22.5 KB
- Stars: 16
- Watchers: 24
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
# SSH participation server
This is a very simple SSH server for allowing users to easily participate in an interactive demo. It allows logging in with arbitrary usernames, creating a new user on-the-fly and giving the user a shell for it. A shared password among all users is used for authentication.
:warning: Note that this was created hastily and as a consequence might have some problems
## Usage
Enable the NixOS module with
```nix
{
imports = [
./path/to/ssh-participation/module.nix
];
services.ssh-participation.enable = true;
}
```Then ssh to the server:
```
$ ssh demo.example.com
The authenticity of host 'demo.example.com (172.18.67.126)' can't be established.
RSA key fingerprint is SHA256:iYtE6QJoExY7GdF/dzWv9xlsekurZlZ49Yjo9xiUuu8.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'demo.example.com' (RSA) to the list of known hosts.
([email protected]) Enter password: pajamas mutual aspire amused
[[email protected]:~]$
```Both the password and the host key are autogenerated the first time it runs and are available in `/var/lib/bouncer/id_rsa*` and `/var/lib/bouncer/password` respectively.
Users that logged in in this way are part of the `participants` group and have their home directory in `/home/participants/$USER`.
## Running for development
```
make
```