检查端口连通性

我们可以使用多种工具来检查基于端口的连接以确保目标端口可用

${_PORT}=22
${_HOST}=192.168.100.10
timeout 5 bash -c "</dev/tcp/$_HOST/${_PORT}"

或者

在使用 netcat rpm 的发行版上

# netcat -w 5 ${_HOST} ${_PORT}
_RETCODE=$?
if [ $_RETCODE -ne "0" ];then
    echo "Port 22 not available"
fi
如何在 Linux 中使用 bash 脚本测试 ssh 连接

由于 ssh 连接可能会失败,可能有多种情况,其中一些可能是

  • 网络问题
  • 密码错误
  • 密码不正确

下面是检测ssh连接的方法

测试 ssh 连接

在这里,我们将尝试进行快速 ssh 并验证返回码

ssh -q -o BatchMode=yes  -o StrictHostKeyChecking=no -i /export/home/sufuser/.ssh/id_rsa $_HOST 'exit 0'
_RCODE=$?
if [ $_RCODE -ne 0 ]
then
    log_and_print_red "unable to ssh, host is not accessible"
    continue
fi

ping测试

_HOST=192.168.100.10
ping -q -W 5 -c 1 $_HOST >/dev/null 2>&1

执行超时 5 秒的 ping 测试,并将向目标主机发送一个数据包,以确保客户端和服务器之间的网络正常。

日期:2020-06-02 22:18:34 来源:oir作者:oir