Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Different agents and different keys for different projects, with ssh.
| Date | Stars |
|---|---|
| 2026-07-31 | 984 |
| 2026-08-06 | 984 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
Help on module ssh-ident:
NAME
ssh-ident - Start and use ssh-agent and load identities as necessary.
FILE
/opt/projects/ssh-ident.git/ssh-ident
DESCRIPTION
Use this script to start ssh-agents and load ssh keys on demand,
when they are first needed.
All you have to do is modify your .bashrc to have:
alias ssh='/path/to/ssh-ident'
or add a link to ssh-ident from a directory in your PATH, for example:
ln -s /path/to/ssh-ident ~/bin/ssh
If you use scp or rsync regularly, you should add a few more lines described
below.
In any case, ssh-ident:
- will create an ssh-agent and load the keys you need the first time you
actually need them, once. No matter how many terminals, ssh or login
sessions you have, no matter if your home is shared via NFS.
- can prepare and use a different agent and different set of keys depending
on the host you are connecting to, or the directory you are using ssh
from.
This allows for isolating keys when using agent forwarding with different
sites (eg, university, work, home, secret evil internet identity, ...).
It also allows to use multiple accounts on sites like github, unfuddle
and gitorious easily.
- allows to specify different options for each set of keys. For example, you
can provide a -t 60 to keep keys loaded for at most 60 seconds. Or -c to
always ask for confirmation before using a key.
Installation
============
All you need to run ssh-ident is a standard installation of python >= 2.6,
python > 3 is supported.
If your system has wget and are impatient to use it, you can install
ssh-ident with two simple commands:
mkdir -p ~/bin; wget -O ~/bin/ssh goo.gl/MoJuKB; chmod 0755 ~/bin/ssh
echo 'export PATH=~/bin:$PATH' >> ~/.bashrc
Logout, login, and done. SSH should now invoke ssh-ident instead of the
standard ssh.
Alternatives
============
In .bashrc, I have:
alias ssh=/home/ccontavalli/scripts/ssh-ident
all I have to do now is logout, login and then:
$ ssh somewhere
ssh-ident will be called instead of ssh, and it will:
- check if an agent is running. If not, it will start one.
- try to load all the keys in ~/.ssh, if not loaded.
If I now ssh again, or somewhere else, ssh-ident will reuse the same agent
and the same keys, if valid.
About scp, rsync, and friends
=============================
scp, rsync, and most similar tools internally invoke ssh. If you don't tell
them to use ssh-ident instead, key loading won't work. There are a few ways
to solve the problem:
1) Rename 'ssh-ident' to 'ssh' or create a symlink 'ssh' pointing to
ssh-ident in a directory in your PATH before /usr/bin or /bin, similarly
to what was described previously. For example, add to your .bashrc:
export PATH="~/bin:$PATH"
And run:
ln -s /path/to/ssh-ident ~/bin/ssh
Make sure `echo $PATH` shows '~/bin' *before* '/usr/bin' or '/bin'. You
can verify this is working as expected with `which ssh`, which should
show ~/bin/ssh.
This works for rsync and git, among others, but not for scp and sftp, as
these do not look for ssh in your PATH but use a hard-coded path to the
binary.
If you want to use ssh-ident with scp or sftp, you can simply create
symlinks for them as well:
ln -s /path/to/ssh-ident ~/bin/scp
ln -s /path/to/ssh-ident ~/bin/sftp
2) Add a few more aliases in your .bashrc file, for example:
alias scp='BINARY_SSH=scp /path/to/ssh-ident'
alias rsync='BINARY_SSH=rsync /path/to/ssh-ident'
...
The first alias will make the 'scp' command invoke 'ssh-ident' instead,
Excerpt of 21,265 characters
Read on GitHub36
Josh Soref · @GarnerCorp · Canada
2
2
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
Not classified yet. Classification runs as part of npm run ingest.