Skip to main content

Description

This program can be used to manage the public keys on multiple servers. Specify in a configuration file which users with their public keys have permission to login to which server with a specific username.

Publickeymanager is usefull if you have multiple users logging in to shared accounts on multiple servers.

Config File

The config file has the following options:

[keys]
  Specify one public key per user.

[group:`users`]
  Use this if you want to bundle multiple users to one group. Say for example
  a sysadmin group.

[group:`name`]
  Specify a group of servers. `name` is the name of the group.
  A config file can hold multiple [group:`name`]
  directives.

Options for [group:name]

The options for the group:

user_groups
  A reference to groups defined in [group:`users`].
  All users in the group have
  access to the servers in this group.

access
  Which individual users have access to servers in this group.

servers
  A list of servers which belong to this group.

[server:`name`]
  Specify a server. A config file can hold multiple [server:`name`]
  directives.
  The name is the name of the server. A name can be referenced in a server
  group.

Options for [server:name]

The options for the server:

hostname
  The hostname of the server.

user
  The username that is used to login to the server.

groups
  Define which groups have access to this server. Groups need to exist in
  [group:`name`]

access
  Define which users have access to this server.
  Users need have a key file mentioned in [keys].

Example Config File

An example config file which shows all options:

[keys]
roland=rvanlaar.pub
example_user=example.pub
example_user2=example2.pub

[group:users]
sysadmin =
  roland

[group:remote]
user_groups =
  sysadmin
access =
  example_user1
servers =
  example_server1
  example_server2

[server:localhost]
hostname = 127.0.0.1
user = roland
groups = sysadmin
access = example

[server:example_server1]
hostname = example.com
user = example

[server:example_server2]
hostname = example.org
user = example

Changes

0.3

  • New authorized_keys file will have the same permissions as the old one.

0.2.4

  • Added check. A server needs to have at least one user that will have access to it.

0.2.3

  • Added time.sleep(1); Needed for a correct move via shell.send.

  • Fixed parse bug for group:users

0.2.2

  • Fixed parse bug for group:users.

  • [group:user] renamed to [group:users].

0.2.1

  • Removed old pdb line.

0.2

  • Fixed broken function parse_config.

  • Added Changes and Readme to long description.

0.1.2

  • The directory for the public keys can be chosen with -d.

  • Added more explanatory error messages.

0.1.1

  • Fixed egg install.

0.1

  • Released the first version to pypi.

Release files for publickeymanager 0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for publickeymanager 0.3
File Size Uploaded
publickeymanager-0.3.tar.gz 6.7 kB Details

Release files / publickeymanager-0.3.tar.gz

Download URL publickeymanager-0.3.tar.gz
Size 6.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d3babdc17939f2418f1dc34083c0e65ba080dc41226e14cd915a3a13062b640b
BLAKE2b-256 checksum
How to use checksums
d93bf0722593030f855cc15c28cec8650bc28950f39e10fc02909b9077dd9613
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3 This release

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2

1 release file

0.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page