简体   繁体   中英

Best practice for using git private key on a public server with a shared user

I Currently use some servers to do some benchmarks. I need to log into multiple servers and git clone ... from assembla.

Currently I copy my private key to the server and then update the .ssh/config file. Although I share this user and server with other people to do their benchmarks. What is the best practice for this(without creating a new user for everyone on the server). Is there anyway I can use ssh-add key then use git on the server and pull the repo without storing the key on the server?

Enable SSH agent forwarding

Since you're using key-based authentication, the best solution is to allow forwarding of the authentication agent connection over the secure channel . If your public key is stored on the last server, there's no need to store your corresponding private key on the intermediate host.

Since the default client setting is not to forward the authentication agent to the remote host, you should enable agent forwarding in your client configuration. Add the following line to your ~/.ssh/config :

Host intermediate.server.name
    ForwardAgent yes

On the server, the default is to enable Agent Forwarding but in case it has been disabled, you should ensure that the following line is uncommented in the server's SSHD configuration (usually /etc/sshd_config ).

AllowAgentForwarding yes

GitHub have a good article on Using SSH agent forwarding which references Steve Friedl's comprehensive Guide to SSH Agent Forwarding .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM