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