红联Linux门户
Linux帮助

主动化脚本ssh以及telnet发送命令并退出(windows和linux都适用)

发布时间:2017-06-12 10:43:08来源:linux网站作者:mthoutai
须要安装putty,用到的命令是plink:
PuTTY Link: command-line connection utility  
Unidentified build, Jun 11 2017 11:43:58  
Usage: plink [options] [user@]host [command]  
("host" can also be a PuTTY saved session name)  
Options:  
-V        print version information and exit  
-pgpfp    print PGP key fingerprints and exit  
-v        show verbose messages  
-load sessname  Load settings from saved session  
-ssh -telnet -rlogin -raw -serial  
force use of a particular protocol  
-P port   connect to specified port  
-l user   connect with specified username  
-batch    disable all interactive prompts  
The following options only apply to SSH connections:  
-pw passw login with specified password  
-D [listen-IP:]listen-port  
Dynamic SOCKS-based port forwarding  
-L [listen-IP:]listen-port:host:port  
Forward local port to remote address  
-R [listen-IP:]listen-port:host:port  
Forward remote port to local address  
-X -x     enable / disable X11 forwarding  
-A -a     enable / disable agent forwarding  
-t -T     enable / disable pty allocation  
-1 -2     force use of particular protocol version  
-4 -6     force use of IPv4 or IPv6  
-C        enable compression  
-i key    private key file for authentication  
-noagent  disable use of Pageant  
-agent    enable use of Pageant  
-m file   read remote command(s) from file  
-s        remote command is an SSH subsystem (SSH-2 only)  
-N        don't start a shell/command (SSH-2 only)  
-nc host:port  
open tunnel in place of session (SSH-2 only)  
-sercfg configuration-string (e.g. 19200,8,n,1,X)  
Specify the serial configuration (serial only)
 
本来一直用plink做隧道代理FQ用。闲来无聊看了看帮助,不看不知道。一看吓一跳。
顺利的攻克了曾经没有实现的功能,特来记录。
 
有用场景1:产品发给用户以后发现有bug。可是安装的位置仅仅能远程,并且数量非常多,这个时候须要对产品升级怎么办,不可能一个个ssh,或者网页配置吧,那么自己主动化ssh发送命令就派上用途了,一个脚本循环ssh。wget固件并并升级一气呵成。之前公司就遇到过。
 
有用场景2:如今有1000块板子出货要贴标签,而之前MAC地址由于某种原因没记录。这个时候怎么办,也不可能一个个去登陆复制粘贴。再保存到打印机吧,一个脚本打印出来,就是这么任性。
 
ssh登陆执行ls命令:
echo y| plink -ssh root@192.168.1.1 -pw password ls
ssh登陆依次运行command.txt的命令:
echo y| plink -ssh root@192.168.1.1 -pw password -m command.txt
telnet登陆执行ifconfig并退出:
​echo 'ifconfig ;exit'| plink -telnet 192.168.1.1
 
另外还有 -ssh -telnet -rlogin -raw -serial
基于这几个核心命令,能够尽情发挥了。
測试发现ssh 最多传入1024个字符。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/31432.html