UNIX自动登录telnet代码设置全解(1)


UNIX系统在很多企业中都有所应用。比较复杂的一类应用,这里我们就来讲解一下UNIX自动登录telnet的设置。那么为了帮助大家了解这部分内容,我们搜集了一些资料,进行了整理,这里分享给大家。http://www.linuxeden.com/forum/t138058.html)。这个例子很不错,下边对其进行分析。

  1. #===========autotelnet.sh==============   
  2. #!/bin/bash  
  3. tmptty=`tty` #取得当前的tty值  
  4. tmptty=`basename $tmptty` #去掉tty的绝对路径  
  5. tmpname=`whoami` #取得当前执行程序的用户名  
  6. ip="10.22.33.44" #目标主机地址  
  7. inp1="ABC^M" #主机的用户名,注重^M必须在UNIX自动登录telnet下重装用以下方法输入才能用!!  
  8. #方法为按住ctrl键按v键,不放ctrl键,再按shift键和m键,完成后全部放开  
  9. inp2="ABC^M" #主机的密码,注重必须有^M  
  10. inp3="ls^M" #其他进入后的命令,可无或用ls之类的命令代替,注重必须有^M  
  11. inp4="pwd^M" #命令4,同上  
  12. #--------------------------  
  13. ininputfile=in #导入文件管道用的,不要改,这个值没有任何关系  
  14. outoutputfile=out.log #最终导出的文件  
  15. rm -fr $inputfile   
  16. rm -fr $outputfile   
  17. mknod $inputfile p   
  18. touch $outputfile   
  19.  
  20. #file description 7 for out and 8 for in 使用7作为输入管道,8作为输入  
  21. exec 7<>$outputfile   
  22. exec 8<>$inputfile   
  23.  
  24. telnet$ip <&8 >&7 &   
  25.  
  26. sleep 2; echo $inp1 >> $inputfile   
  27. sleep 2; echo $inp2 >> $inputfile   
  28. sleep 2; echo $inp3 >> $inputfile   
  29. #UNIX自动登录telnet设置中,假如没有其他命令,这行和下一行可以去掉  
  30. sleep 2; echo $inp4 >> $inputfile   
  31.  
  32. tail -f $outputfile & 强制在屏幕上显示任何输入输出  
  33.  
  34. while true #正常情况下已经进入目标主机了,可以输入任何命令,所有的一切输入输出都会被记录   
  35. do   
  36. read str   
  37. if [[ $str = "quit" || $str = "exit" ]]   
  38. then echo $str >> $inputfile exit   
  39. else echo $str >> $inputfile   
  40. fi   
  41. done   
  42.  
  43. #UNIX自动登录telnet退出时自动杀掉相关进程  
  44. ps -ef | greptelnet| grep -v grep | grep -v telnetd | grep $tmptty | grep $tmpname | awk '{print " kill -9", $2}' | sh  
  45. ps -ef | grep tail | grep -v grep | grep -v telnetd | grep $tmptty | grep $tmpname | awk '{print " kill -9", $2}' | sh  


相关内容

    暂无相关文章