美文网首页
SSH交互式通信总结:expect、plink、putty、ss

SSH交互式通信总结:expect、plink、putty、ss

作者: 刘小白DOER | 来源:发表于2021-03-14 16:44 被阅读0次

        关于在linux脚本中远程执行命令的问题,笔者在以前文章中可以使用expect工具来完成交互式通信。在windows平台下可以使用plink或者putty工具。免密也可以设置SSH秘钥,参考文章-Linux怎么远程执行指令呢-SSH秘钥。但是在linux下需要一一对应设置,未免过于麻烦。今天看到一款使用sshpass来完成交互式通信的方法,于是笔者以前用过的工具一一展示一下,做个总结,方便以后使用。

    1、linux下expect。参考文章-Linux中expect工具完成远程交互通信。

        expect用于发送指定的字符串信息,获取匹配信息匹配成功则执行expect后面的程序动作,文章里面有详细的脚本说明。

    2、windows下plink。参考文章--LabVIEW通过PLINK远程到Linux系统。

        windows10执支持ssh,但是不支持sshpass吗,于是使用plink来代替。

    先看指令:PLINK -pw raspberry pi@192.168.31.82 -ssh -batch "pwd"。

     -pw指定密码,-batch禁止交互式运行命令。

    3、windows下putty。

    PUTTY -pw raspberry  pi@192.168.31.103

    不用输入密码来完成交互式,这个这对于putty自带可视化界面需求的,不需要使用putty的界面的话就可以选择上面的plink命令行。

    4、linux下sshpass

    先看指令:sshpass -p raspberry ssh pi@192.168.31.103 pwd,sshpass用于非交互的ssh 密码验证,允许你用 -p 参数指定明文密码,直接登录远程服务器执行指令。

    在ubuntu下安装:sudo apt  install sshpass

    在RHEL下安装:sudo yum install sshpass

    5、 LabVIEW下ALAB SSH工具

        lab -SSH实现了Secure Shell (SSH),SSH客户端应用程序(运行LabVIEW的PC)与SSH服务器连接起来。但是这个工具是要收费的,可以使用plink来代替。但是相比于plink,ALAB SSH可以在连接后完成一系列的命令,而LabVIEW 函数System Exec VI调用plink连接完成后只能执行一次。如果要执行多次的话只能在plink后面的命令里面入手,使用;或者&&来完成多个指令或者做成脚本。比如:

        PLINK -pw raspberry pi@192.168.31.82 -ssh -batch "pwd;whoami"

    相关文章

      网友评论

          本文标题:SSH交互式通信总结:expect、plink、putty、ss

          本文链接:https://www.haomeiwen.com/subject/engqcltx.html