https://github.com/coreos/ssh-key-dir
sshd AuthorizedKeysCommand to read ~/.ssh/authorized_keys.d
https://github.com/coreos/ssh-key-dir
Last synced: about 1 year ago
JSON representation
sshd AuthorizedKeysCommand to read ~/.ssh/authorized_keys.d
- Host: GitHub
- URL: https://github.com/coreos/ssh-key-dir
- Owner: coreos
- License: apache-2.0
- Created: 2020-06-11T20:33:14.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2025-02-01T22:25:16.000Z (over 1 year ago)
- Last Synced: 2025-03-28T18:16:32.410Z (over 1 year ago)
- Language: Rust
- Homepage:
- Size: 281 KB
- Stars: 52
- Watchers: 6
- Forks: 17
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ssh-key-dir
[](https://crates.io/crates/ssh-key-dir)
ssh-key-dir is an sshd [`AuthorizedKeysCommand`](https://man.openbsd.org/sshd_config#AuthorizedKeysCommand) that reads SSH authorized key files from a directory, `~/.ssh/authorized_keys.d`. It allows SSH keys to be managed by multiple tools and processes, without competing over `~/.ssh/authorized_keys`.
ssh-key-dir reads key files in lexigraphical order, ignoring any filenames starting with a dot.
# Installing
## Installing on Fedora
`ssh-key-dir` is packaged in Fedora:
```sh
sudo dnf install ssh-key-dir
```
Installing the package automatically configures sshd to read keys using ssh-key-dir.
## Installing with Cargo
You can also install just the `ssh-key-dir` binary with Rust's Cargo package manager:
```sh
cargo install ssh-key-dir
```
## Build and install from source tree
To build from the source tree:
```sh
make
```
To install the binary and `sshd_config.d` fragment to a target rootfs (e.g. under a [coreos-assembler](https://github.com/coreos/coreos-assembler) workdir):
```sh
make install DESTDIR=/my/dest/dir
```