linux – 如何确保ssh在启动时准备就绪

linux – 如何确保ssh在启动时准备就绪,第1张

概述我们有一个自动化工具,它尝试通过ssh登录并发送命令,这在服务器运行时工作正常.另一方面,当服务器启动时,我们的工具检查ssh端口(22)是否打开,如果它是打开的,它会尝试连接到服务器并发送命令. 但是,当服务器处于启动顺序并且我们的自动化工具检查端口22是否打开时,它会尝试使用ssh客户端连接到服务器但服务器拒绝或ssh客户端返回错误“ssh port is not open”. 我们试图用te 我们有一个自动化工具,它尝试通过ssh登录并发送命令,这在服务器运行时工作正常.另一方面,当服务器启动时,我们的工具检查ssh端口(22)是否打开,如果它是打开的,它会尝试连接到服务器并发送命令.

但是,当服务器处于启动顺序并且我们的自动化工具检查端口22是否打开时,它会尝试使用ssh客户端连接到服务器但服务器拒绝或ssh客户端返回错误“ssh port is not open”.

我们试图用telnet调查这个问题并看到,在启动序列中,sshd启动并打开端口22并开始监听,但它以某种方式再次关闭端口并在一段时间内再次打开它.这就是我们的自动化工具尝试登录的完全相同的时间.

我的问题是;我们如何确保ssh端口成功打开并准备好接受命令?

感谢您抽出宝贵时间回答,
最好的祝福

@H_404_12@解决方法 首先,似乎自动化工具没有验证ssh的退出状态.我会尝试解决那里的问题.

一种解决方案是尝试填充创建该工具的团队的错误.

另一个解决方案是将ssh命令包装在一个透明地执行此 *** 作的脚本中.例如.在/opt/myproject/ssh_wraper.sh中创建一个脚本

在这里你可以有类似的东西:

SSH_EXIT_STATUS=255while [[ $SSH_EXIT_STATUS -eq 255 ]];do    ssh ....    SSH_EXIT_STATUS=$?done
总结

以上是内存溢出为你收集整理的linux – 如何确保ssh在启动时准备就绪全部内容,希望文章能够帮你解决linux – 如何确保ssh在启动时准备就绪所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1034603.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存