I've been working on a small service for inserting ssh certificates into ssh forwarded agents. See https://github.com/rorycl/sshagentca
The idea is that if you have an ssh forwarded agent with a certificate signed through the service, you can connect to any ssh server which has the TrustedUserCAKeys ssh setting set to the public part of the caprivatekey keypair (other permissions such as principals permitting). The server takes the following arguments: sshagentca -pvt <privatekey> -ca <caprivatekey> -a <authorized_keys> [-i <ipaddress>] [-p <port>] settings.yaml The privatekey is an ssh server private key, and the caprivatekey is the ssh server's Certificate Authority private key. On startup the user is prompted for the passwords for each of these keys. Is there a more secure way of doing this? Is using something like memguard (https://github.com/awnumar/memguard) recommended to protect the passwords in memory? Based on Thaler and Sunstein's principle of "the nudge" I also wonder if it would be a good idea to have the caprivatekey passed in by stdin, to encourage users not to store the caprivatekey with the programme. (Passwordless private keys are not permitted.) Thanks for any comments Rory -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/3e22a9fb-0fef-450c-bc0e-a4250108657e%40googlegroups.com.