fetch-ssh-keys

command module
v1.0.53 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 25, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

README

fetch-ssh-keys

fetch-ssh-keys is small shell command to get users public SSH keys from different cloud services like GitHub.

[!NOTE] Tested only on Linux and Mac. If you test on any other platform, please me know!

Usage

fetch-ssh-keys <source name> <parameters> <output file>

For example fetch users public SSH keys from GitHub my-lovely-team team in my-awesome-company organization and output in SSH authorized_keys format

# Fetch 'my-lovely-team' keys in 'my-awesome-company' organisation
fetch-ssh-keys github --organization my-awesome-company --team my-lovely-team --token YOUR-TOKEN-HERE ./the-keys

# Fetch 'ernoaapa' and 'arnested' public keys
fetch-ssh-keys github --user ernoaapa --user arnested  --token YOUR-TOKEN-HERE ./the-keys

# Fetch 'ernoaapa/fetch-ssh-keys' deploy keys (requires a Github token with the `repo` or `public_repo` scope)
fetch-ssh-keys github --deploy-key ernoaapa/fetch-ssh-keys  --token YOUR-TOKEN-HERE ./the-keys

Tool can be used for example to automatically update .ssh/authorized_keys file by giving path to .ssh/authorized_keys as last argument and adding the script to cron job.

Installation

  • Download binary from latest release or install with Go: go install arnested.dk/go/fetch-ssh-keys@latest
  • Give execution rights (chmod +x fetch-ssh-keys) and add it into your $PATH
Configuration
Parameter Required Description
--format No (default ssh) Output format. Only ssh authorized_keys format supported for now
--file-mode No (default 0600) File permissions when writing to a file
--comment No (default none) Include COMMENT at top and bottom
GitHub
Parameter Description
--organization Name of the organization which members keys to pick
--team Name or slug of the team which members keys to pick
--user Name of the user which keys to pick
--deploy-key Name of the owner/repo which deploy keys to pick
--token GitHub API token to use for communication. Without token you get only public members of the organization.
--public-only Return only members what are publicly members of the given organization

You can give --organisation (optionally combined with --team flag) and/or one or more --user or --deploy-key flags.

The --deploy-key parameter requires a Github token with the repo or public_repo scope.

Development

Get dependencies
go get ./...
Run
go run main.go github --output ssh

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL