【发布时间】:2019-09-14 02:09:23
【问题描述】:
我想从我的 bash 脚本 ssh 到一个 ip,如果它要求我将公钥添加到 known_hosts 文件,我想打印一条消息并退出脚本。另外,我不想检查我的 known_hosts 文件,因为我使用的是 IDM,所以密钥不会在 known_hosts 中。我将其作为快速测试进行了尝试,但似乎 ssh 接管了,因为它排除了输入:
#!/bin/bash
if ssh localhost | grep -q 'authenticity'; then
echo "matched"
fi
这是我目前得到的输出:
[root@host ~]# sh test.sh
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is SHA256:Nw91ZidjeQLA2/pEGoLpk1lRxk22arS9/xQNTU6gck8.
ECDSA key fingerprint is MD5:d7:f0:66:9c:93:2b:2d:64:34:06:ad:c4:1d:8c:c2:a2.
Are you sure you want to continue connecting (yes/no)?
我想要的是如果发生这种情况是对上面的回答“否”,打印“ssh key problem”并退出脚本。如果这不可能,也许我可以对上述回答是,然后让脚本检查 known_hosts 和错误,如果它在那里?
【问题讨论】: