![从非哈希 sshknown_hosts 中提取主机名](https://linux22.com/image/75125/%E4%BB%8E%E9%9D%9E%E5%93%88%E5%B8%8C%20sshknown_hosts%20%E4%B8%AD%E6%8F%90%E5%8F%96%E4%B8%BB%E6%9C%BA%E5%90%8D.png)
我想在所有(已知)格式条件下从 .ssh/known_hosts 文件中提取主机名/ip:
- 仅主机名
hostname pubkey
- 主机名与ip:
hostname,1.1.1.1 pubkey
- 带有非反向 IP 的主机名和自定义端口:
[hostname]:1234,[1.1.1.1]:1234 pubkey
- 安全地忽略散列主机(如果有)
答案1
awk -F'[ ,:]' '/^[0-9a-zA-Z]/{sub(/\[/,"",$1); sub(/\]/,"",$1); print $1}' ~/.ssh/known_hosts