首页 > 解决方案 > 如何使用 sed 在“ssh-keygen -if”的输出中隔离 linux 指纹

问题描述

我需要用代码隔离 linux 机器上的 ssh 指纹。我可以运行 ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub 来获取它:

[root@foo ssh]# ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
2048 11:11:11:11:11:blah:blah /etc/ssh/ssh_host_rsa_key.pub (RSA)

我可以通过管道将其传递给 sed 以摆脱 2048 位:

[root@foo ssh]# ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub | sed 's/2048 //g'
11:11:11:11:11:blah:blah /etc/ssh/ssh_host_rsa_key.pub (RSA)

但是最后我留下了文件路径(RSA)位。我想添加另一个管道 sed 命令,但我遇到了 / 的问题。

标签: awksedsshfingerprinting

解决方案


如果你只是喜欢11:11:11:11:11:blah:blah 尝试:

[root@foo ssh]# ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub | awk '{print $2}'

推荐阅读