簡體   English   中英

在shell腳本中進行Telnet

[英]Telnet inside a shell script

如何在shell腳本中運行telnet並在遠程服務器上執行命令?

由於安全原因,我不希望在我的solaris機器上安裝。 我也沒有安裝perl net::telnet模塊。

那么使用expect和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.
> 

您的某些命令可能會被丟棄。 您可以使用普通腳本構造實現更好的控制,然后通過帶有echo的管道發送所需的命令。 將命令列表分組以進行一個“會話”: -

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

我遇到了同樣的問題......但是,至少在我的環境中,結果是目標服務器上的SSL證書在某種程度上被破壞了,服務器團隊處理了這個問題。

現在,我要做的是弄清楚如何讓一個腳本運行你正在做的完全相同的事情,除了我希望它將上面完全相同的場景轉儲到一個文件中然后當它遇到一個它實際連接的服務器,我希望它提供轉義字符(^])並繼續下一個服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM