远程登录shell脚本里面(Telnet inside a shell script)

2019-07-31 08:25发布

我怎样才能运行telnet shell脚本内部和远程服务器上执行命令?

我并不曾料想安装在我的Solaris机器上的,因为安全原因。 我也没有Perl的net::telnet安装的模块。

所以用期待和Perl我怎么能做到这一点呢?

我想下面的事情,但它不工作。

#!/usr/bin/sh
telnet 172.16.69.116 <<!
user
password
ls
exit
!

当我执行它,这就是我得到:

> cat tel.sh
telnet 172.16.69.116 <<EOF
xxxxxx
xxxxxxxxx
ls
exit
EOF
> tel.sh
Trying 172.16.69.116...
Connected to 172.16.69.116.
Escape character is '^]'.
Connection to 172.16.69.116 closed by foreign host.
> 

Answer 1:

一些你的命令可能会被丢弃。 可以实现与普通脚本构建更好的控制,然后通过管道与发送所需的命令echo 。 组命令的列表,使一个“会话”: -

{
sleep 5
echo user
sleep 3
echo password
sleep 3
echo ls
sleep 5
echo exit
} | telnet 172.16.65.209


Answer 2:

我有同样的问题。但是,至少在我的环境原来是SSL证书上的目标服务器是在某种程度上破坏和服务器团队采取了问题的关心。

现在,我正在试图做的是要弄清楚如何让一个脚本来运行你上面正在做同样的事情,除了我希望它上面倾倒了完全相同的场景到一个文件中,然后当它遇到一个在它实际连接的服务器,我想它提供转义字符(^]),进入到下一个服务器。



文章来源: Telnet inside a shell script