everpeace / ssh-agent-multiplexer

a small program which multiplexes running ssh agents

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ssh-agent-multiplexer

This is a small program which multiplexes running ssh agents.

If you wanted to

  • aggregate two agents agent1.sock and agent2.sock
  • use agent1.sock for target agent for adding keys (via ssh-add),

just run like this:

# Note: `--add-target` is required.
$ ssh-agents-multiplexer --add-target agent1.sock --target agent2.sock
2022-09-28T23:06:59+09:00 INF revision=4b48f3b version=0.0.2
2022-09-28T23:06:59+09:00 INF Agent multiplexer listening listen=/var/folders/2s/41bhrr7d0r76pkkb9kgjtk0h0000gn/T/ssh-agent-multiplexer-90668.sock

Then, an multiplexer agent is listening at /var/..../ssh-agent-multiplexer-90668.sock. So, You can use the socket as an usual ssh agent.

$ export SSH_AUTH_SOCK=/var/folders/2s/41bhrr7d0r76pkkb9kgjtk0h0000gn/T/ssh-agent-multiplexer-90668.sock

# this shows all the keys in target agents (both --target and --add-target)
$ ssh-add -l

# this will add <private_key> to an agent specified by --add-target 
$ ssh-add <private_key>

# this removes <public_key> from a target keeping it
$ ssh-add -d <public_key>

# forward the multiplexing agent to some.host.  Thus, you can use all the key in target agents
$ ssh -A some.host

Release

The release process is fully automated by tagpr. To release, just merge the latest release PR.

License

Apache License, Version 2.0.
See LICENSE.

About

a small program which multiplexes running ssh agents

License:Other


Languages

Language:Go 91.5%Language:Makefile 7.3%Language:Dockerfile 1.2%