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.

Reply via email to