在/home/user/.ssh/
known_host
文件中,我们可以获得主机服务器名称的所有详细信息。
Ex - hostname.abcs.com,129.167.29.11 ssh.rsa <encryption-key>
shell 脚本,如-
#!/bin/bash
HOST=$1
IP_ADDR=$2
ENC_TYP=$3
KEY=$4
.........
然后需要在第一个变量(HOST)中添加主机名详细信息,在第二个变量中添加IP地址,加密类型和加密密钥到变量中。
[] > cat HOST
然后输出为hostname.abcs.com
[] > cat IP_ADDR
然后输出为129.167.29.11
或者我们也可以将所有这些详细信息添加到一个文件中,如hostname.txt
。因此,我需要添加shell脚本,以便在文件或变量中自动添加服务器主机详细信息。
2条答案
按热度按时间qqrboqgw1#
主机名可能在第一列,但第一列也可能是
@revoked
或@cert-authority
,在这种情况下,主机名在第二列,我们现在将忽略这个问题,并假设您没有任何类似的行(如果您有,您可能可以很容易地用awk过滤掉它们)。name,ip_address
,您可以摆脱一些简单的东西,如:但请注意,hostnames字段可能只有一个条目(即,它不包含任何逗号),也可能多于2个条目(即,它包含多于1个逗号),在这种情况下,所有这些列计数都将是错误的,并且这些字段将位于错误的变量中。您应该比上面所做的更仔细地确保数据的有效性!
d8tt03nd2#
如果我没理解错的话,从输入行阅读几个值(用逗号或空格分隔)并将它们放入单独的变量中的答案是使用next命令:
就输入而言,您的文件
/home/user/.ssh/known_host
与您所说的相匹配。