У меня есть несколько хостов в ~/.ssh/config, и они отлично работают с локальной машины, но удаленная машина не знает этих хостов.
Host A
HostName github.com
IdentityFile ~/.ssh/A_rsa
Host B
HostName github.com
IdentityFile ~/.ssh/B_rsa
Host remotemachine.com
ForwardAgent yes
От localhost:
$ ssh -T git@A
Hi A! You've successfully authenticated, ...
$ ssh -T git@B
Hi B! You've successfully authenticated, ...
С удаленного хоста:
$ ssh remotemachine
$ ssh-add -l
... both keys present ...
$ ssh -T git@B
ssh: Could not resolve hostname B: Name or service not known
$ ssh -T git@github.com
Hi A! You've successfully authenticated, ...
Как использовать ключ B на удаленной машине?
Тем не менее, с локальной машины я могу сделать ssh git@B
, но на удаленной машине имя хоста B
не известно. Похоже, ssh-agent пересылает только ключи, но не хосты. Как сделать так, чтобы хосты тоже были впереди?
Я мог бы также создать ~/.ssh/config на удаленной машине, но что поместить в IdentityFile?
Я мог бы использовать $ ssh -i KEYFILE
, но что поместить в KEYFILE, если ключи перенаправлены?