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

如何创建一个bash脚本来检查SSH连接?

发布时间:2020-12-15 16:13:23 所属栏目:安全 来源:网络整理
导读:我正在创建一个bash脚本,该脚本将登录到远程计算机并创建私钥和公钥。 我的问题是远程机器不是很可靠,他们不总是up。我需要一个bash脚本,以检查SSH连接是否已启动。在实际创建密钥以供将来使用之前。 你可以检查这个与返回值ssh给你: $ ssh -q user@down
我正在创建一个bash脚本,该脚本将登录到远程计算机并创建私钥和公钥。

我的问题是远程机器不是很可靠,他们不总是up。我需要一个bash脚本,以检查SSH连接是否已启动。在实际创建密钥以供将来使用之前。

你可以检查这个与返回值ssh给你:
$ ssh -q user@downhost exit
$ echo $?
255

$ ssh -q user@uphost exit
$ echo $?
0

编辑:另一种方法是使用nmap(你不需要有键或登录东西):

$ a=`nmap uphost -PN -p ssh | grep open`
$ b=`nmap downhost -PN -p ssh | grep open`

$ echo $a
22/tcp open ssh
$ echo $b
(empty string)

但是你必须grep消息(nmap不使用返回值来显示端口是否被过滤,关闭或打开)。

EDIT2:

如果你对ssh-port的实际状态感兴趣,你可以用egrep’open | closed | filtered’替换grep open:

$ nmap host -PN -p ssh | egrep 'open|closed|filtered'

只是要完成。

(编辑:李大同)

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

    推荐文章
      热点阅读