从非哈希 sshknown_hosts 中提取主机名

从非哈希 sshknown_hosts 中提取主机名

我想在所有(已知)格式条件下从 .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

相关内容