CLI client for SSH CA
 
 
 
 
 
Go to file
Dustin d443542ee0
dustin/sshca-cli/pipeline/pr-master There was a failure building this commit Details
dustin/sshca-cli/pipeline/head This commit looks good Details
user/login: Add cert to SSH agent
An SSH certificate is useless on its own, as without the private key,
clients cannot sign servers' authentication requests.  Since `sshca-cli
user login` creates a new key pair each time it is run, the private key
needs to be kept at least as long as the certificate is valid.  To that
end, the command will now add both to the user's SSH agent.  It
communicates with the agent via the UNIX stream socket specified by the
`SSH_AUTH_SOCK` environment variable.

Although there is a Rust crate, [ssh-agent-client-rs][0] that implements
the client side of the SSH agent protocol, it does not support adding
certificates to the agent.  In fact, that functionality is not even
documented in the IETF draft specification for the protocol.  Thus, I
had to figure it out by reading the code of the OpenSSH `ssh-add` tool,
and observing the messages passed between it and `ssh-agent`.

[0]: https://crates.io/crates/ssh-agent-client-rs
2024-01-31 17:41:58 -06:00
ci ci: Import ci pipeline from original repo 2023-11-13 20:32:03 -06:00
src user/login: Add cert to SSH agent 2024-01-31 17:41:58 -06:00
.editorconfig user: Add sshca user login command 2023-11-21 20:13:17 -06:00
.gitattributes cli: Begin CLI client 2023-11-05 10:31:58 -06:00
.gitignore rpm: Add sshca-cli RPM spec 2023-11-06 18:11:19 -06:00
Cargo.lock user/login: Request signed cert from SSHCA 2024-01-31 17:40:14 -06:00
Cargo.toml user/login: Add cert to SSH agent 2024-01-31 17:41:58 -06:00
LICENSE-Apache-2.0.txt cli: Begin CLI client 2023-11-05 10:31:58 -06:00
LICENSE-MIT.txt cli: Begin CLI client 2023-11-05 10:31:58 -06:00
Makefile rpm: Add sshca-cli RPM spec 2023-11-06 18:11:19 -06:00
rustfmt.toml cli: Begin CLI client 2023-11-05 10:31:58 -06:00
ssh-host-cert-sign@.service rpm: Add systemd service/target/timer units 2023-11-06 18:34:20 -06:00
ssh-host-certs-renew.target rpm: Add systemd service/target/timer units 2023-11-06 18:34:20 -06:00
ssh-host-certs-renew.timer rpm: Add systemd service/target/timer units 2023-11-06 18:34:20 -06:00
ssh-host-certs.target rpm: Add systemd service/target/timer units 2023-11-06 18:34:20 -06:00
sshca-cli.spec cli: Bump to v0.1.1 2023-11-12 18:23:18 -06:00