2015-10-03 97 views
0

可以說我已經添加了一個ssh公鑰到~/.ssh/authorized_keys。我使用ssh -i <private_key> [email protected]從我的客戶端機器進入機器。有沒有辦法以編程方式在ssh之後從~/.ssh/authorized_keys找到我的ssh密鑰的相應(接受)公鑰?我假設我在authorized_keys中有多個密鑰。查找相應的公有SSH密鑰

回答

1

我想你可以(AB)使用命令選項裏面的authorized_keys,如:

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

你也可以設置環境變量,例如:

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

然後,當你ssh到,你將得到:

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

不知道這是否是你想要的編程的數量。

+0

非常整潔,比我+ 1更好 –

0

~/.ssh/authorized_keys包含公鑰,所以你需要做的就是匹配你的私鑰的公鑰。

可以使用生成私鑰的公鑰:

openssl rsa -in <private_key> -pubout 
0

有你的私鑰只有1個匹配的公鑰(PKI否則被打破)。

因此你可以簡單地只運行

ssh-keygen -y -f ~/.ssh/your_priv_key > your_pub_key