linux服务器上通过脚本判断ssh服务是不是正常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux服务器上通过脚本判断ssh服务是不是正常相关的知识,希望对你有一定的参考价值。

如题,想通过一个shell脚本判断ssh服务是否连接超时,超时输出1,正常输出0,求教如何实现

效果:

ping.sh代码:

#ssh连接服务器

function getConnection()

    ssh -o NumberOfPasswordPrompts=0 $1@$2 "pwd" &>/dev/null

    if [ $? != 0 ];then

        echo -e "\\n无法连接到$2"

            continue

        else

            echo -e "\\n成功连接$2"

        fi

#这里可以通过读取文件配置自动循环,需要的话再修改

getConnection root 192.168.1.1


也可以把IP放host里通自动循环~

参考技术A /etc/init.d/sshd status
rpm -V openssh-server
ls -ld /var/empty/sshd/
chown root /var/empty/sshd/
/etc/init.d/sshd start

将这段语句,做成一个脚本,即可。

Linux上安装使用SSH

參考博客:http://blog.csdn.net/xqhrs232/article/details/50960520

Ubuntu安装使用SSH

ubuntu默认并没有安装ssh服务,如果通过ssh链接ubuntu,需要自己手动安装ssh-server。判断是否安装ssh服务,可以通过如下命令进行:

    [email protected]:~$ ssh localhost   
    ssh: connect to host localhost port 22: Connection refused  

  如上所示,表示没有还没有安装,可以通过apt安装,命令如下:

  [email protected]:~$ sudo apt-get install openssh-server

  系统将自动进行安装,安装完成以后,先启动服务:
  [email protected]:~$ sudo /etc/init.d/ssh start
  
  启动后,可以通过如下命令查看服务是否正确启动
  [email protected] 621200:00 sshd 
  621200:00 sshd
  
  如上表示启动ok。注意,ssh默认的端口是22,可以更改端口,更改后先stop,
  然后start就可以了。改配置在/etc/ssh/sshd_config下,如下所示。
    1. -desktop:~$ vi /etc/ssh/sshd_config   
    2. # Package generated configuration file   
    3. # See the sshd(8for details   
    4. # What ports, IPs and protocols we listen for 22

   最后,应该是连接的时候了。请看如下命令:

[email protected]

客戶端 安裝ssh 啓動連接後,錯誤

Server responded"Algorithm negotiation failed

修改ssh的配置文件 /etc/ssh/sshd_config

在配置文件中添加:

Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc
MACs hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,hmac-sha1-96,hmac-md5-96
KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,[email protected]

重启sshd服务后,即可正常连接。

sudo service ssh restart

另外重启方式还有  sudo /etc/init.d/ssh restart

參考博客:http://www.linuxdiyf.com/linux/24314.html

 



















以上是关于linux服务器上通过脚本判断ssh服务是不是正常的主要内容,如果未能解决你的问题,请参考以下文章

通过 ssh 在 linux 服务器上更改密码的脚本

如何查看linux上的ssh服务是不是正常

linux服务器突然ssh远程连不上了

通过 SSH 登录服务器的 php 脚本

利用shell脚本执行ssh远程另一台主机执行命令并返回命令的结果集

Shell脚本根据Hash值判断web服务器页面是不是被更改