2015-10-03 3 views
0

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

ответ

1

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

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

Можно также установить переменную окружения, например:

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

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

-> % ssh [email protected] 
key1 
[[email protected] ~]$ 

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

+0

Очень аккуратный, лучше, чем мой + 1 –

0

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

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

openssl rsa -in <private_key> -pubout 
0

Там только один соответствующий открытый ключ для вашего секретного ключа (в противном случае ИПК нарушается).

Таким образом, вы можете просто просто запустить

ssh-keygen -y -f ~/.ssh/your_priv_key > your_pub_key 
Смежные вопросы