查找相应的公共SSH密钥

时间:2015-10-03 16:02:45

标签: ssh public-key authorized-keys

让我们说我已经为~/.ssh/authorized_keys添加了一个ssh公钥。我使用ssh -i <private_key> root@machine.ip.com从我的客户端计算机进入计算机。有没有办法在ssh之后以编程方式从~/.ssh/authorized_keys找到我的ssh密钥的相应(接受)公钥?我假设我在authorized_keys中有多个密钥。

3 个答案:

答案 0 :(得分:1)

我想你可以(ab)使用authorized_keys中的命令选项,例如:

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

您还可以设置环境变量,例如:

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

然后当你进入时,你会得到:

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

不知道这是否是您想要的程序化数量。

答案 1 :(得分:0)

~/.ssh/authorized_keys包含公钥,因此您只需要与私钥的公钥匹配即可。

您可以使用以下方式生成私钥的公钥:

openssl rsa -in <private_key> -pubout

答案 2 :(得分:0)

您的私钥只有一个匹配的公钥(否则PKI会被破坏)。

因此您只需运行

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