加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux命令等待SSH服务器启动

发布时间:2020-12-13 17:20:16 所属栏目:Linux 来源:网络整理
导读:我有一个脚本,它创建一个虚拟机,并给我一个IP地址. 然后我想做这样的事情: waitforssh 192.168.2.38 ssh 192.168.2.38 它将等待机器启动并ssh响应,然后ssh进入它. waitforssh是我需要找到的命令. nmap,netcat,fping还是ping这个工作?我尝试过netcat,但如果
我有一个脚本,它创建一个虚拟机,并给我一个IP地址.
然后我想做这样的事情:
waitforssh 192.168.2.38 && ssh 192.168.2.38

它将等待机器启动并ssh响应,然后ssh进入它.

waitforssh是我需要找到的命令.

nmap,netcat,fping还是ping这个工作?我尝试过netcat,但如果主机无法访问,它会在几秒内放弃.

它需要处理机器本身正在启动的事实,并且可能需要一些时间来响应网络数据包.

解决方法

我没有主机,我可以ssh并控制它是否正常,但这应该工作:
while ! ssh <ip>
do
    echo "Trying again..."
done

或者更明确的shell脚本:

#!/bin/sh

ssh $1
while test $? -gt 0
do
   sleep 5 # highly recommended - if it's in your local network,it can try an awful lot pretty quick...
   echo "Trying again..."
   ssh $1
done

保存为(比方说)waitforssh.sh然后用sh waitforssh.sh调用它192.168.2.38

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读