Поиск соответствующего открытого ключа SSH

Допустим, я добавил открытый ключ ssh в ~/.ssh/authorized_keys. И я подключаюсь к машине с моей клиентской машины, используя ssh -i <private_key> [email protected]. Есть ли способ программно найти соответствующий (принимающий) открытый ключ моему ключу ssh от ~/.ssh/authorized_keys после ssh? Я предполагаю, что у меня есть несколько ключей в author_keys.


person GTDev    schedule 03.10.2015    source источник


Ответы (3)


Я полагаю, вы можете (ab) использовать параметр команды внутри author_keys, например:

command="echo key1; /bin/bash" ssh-rsa ...

Вы также можете установить переменную среды, например:

command="KEY=key1 /bin/bash" ssh-rsa ...

Затем, когда вы подключитесь по ssh, вы получите:

-> % ssh user@host
key1
[user@host ~]$

Не знаю, действительно ли это то количество программ, которое вы хотите.

person borancar    schedule 03.10.2015
comment
Очень аккуратно, лучше чем у меня +1 - person Alastair McCormack; 03.10.2015

~/.ssh/authorized_keys содержит открытые ключи, поэтому все, что вам нужно сделать, это сопоставить открытый ключ с вашим закрытым ключом.

Вы можете сгенерировать открытый ключ закрытого ключа, используя:

openssl rsa -in <private_key> -pubout
person Alastair McCormack    schedule 03.10.2015

Для вашего закрытого ключа существует только 1 открытый ключ (в противном случае PKI не работает).

Поэтому вы можете просто запустить

 ssh-keygen -y -f ~/.ssh/your_priv_key > your_pub_key
person Eugene K    schedule 03.10.2015