Release Notes
Added
sshelf add --credential NAME(-c) binds a host to a shared credential as it is created, so
a scripted rollout is one call per group and one call per node rather than anaddand a
bindfor every host. It works with--from-ssh --quiettoo, and an invalid name fails
before the host is written.sshelf credentials add NAME --password-stdinstores the credential's secret in the same call
that defines it, which makes one call per group enough. The full loop is in the
CLI reference.- Shell completion for credential names, on
--credentialandcredentials bind. Names a host
already uses complete even when they were never declared.
Fixed
sshelf add --credential X --password-stdinstored the password under the host's own id, which
a bound host never reads, so the password was silently useless. It now goes to the credential.
The flag is new in this release, so no stored secret was affected.sshelf add,sshelf sites addandsshelf importrefuse to save when another sshelf process
changedhosts.tomlsince they read it, instead of replacing that change. The credential
commands already did this in 0.16.0. A sequential script is unaffected; parallel invocations
now fail rather than quietly losing hosts.- A host added with a credential that already has a secret no longer prints the "no password
stored" note, and one whose credential is empty names the credential in the advice rather than
the host.
Install sshelf 0.16.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-rh/sshelf/releases/download/v0.16.1/sshelf-installer.sh | shInstall prebuilt binaries via Homebrew
brew install max-rh/tap/sshelfDownload sshelf 0.16.1
| File | Platform | Checksum |
|---|---|---|
| sshelf-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| sshelf-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| sshelf-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| sshelf-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo max-rh/sshelfYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>