有關使用script遠端telnet後執行指令 - Linux

Table of Contents

各位大大好

小弟最近想用script去自動telnet到其他主機

去收集其他主機的hostname與網卡資訊等

可是我發現有幾個問題

1. 有什麼方法可以從script直接自動輸入telnet的帳號密碼嗎??

我GOOGLE過大部分都是用expect可以做到我想要的功能

可是全部主機用的都是Solaris 內建好像沒有

而主機目前都沒有連上Interet

所以我才想問問看有沒有辦法單靠script達到目的

2. 我在A主機透過script遠端telnet或ssh連上B主機後

如果在連上後script有執行hostname的動作

顯示出來的hostname卻是A的而不是B的(其他指令也一樣 只是舉hostname做例子)

不過我如果不靠script 自己輸入telnet或ssh連線的話

顯示出來的hostname就是B的 請問這是哪裡有問題呢??

以下是我的script檔

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
cat iplist | while read line \*先讀iplist這個檔 裡面是要遠端主機的IP位址*\
do
telnet $line \*也用過 ssh root@$line*\
hostname>>result \*把hostname資料流導到result這個檔案*\
done
exit 0

當然這邊的telnet或是ssh都是要手動輸入帳號密碼的

謝謝各位大大

--

All Comments

John avatarJohn2011-05-27
設SSH KEY, 可以的話
Edward Lewis avatarEdward Lewis2011-05-28
這個一定要用類似 expect 之類的功能來做交談式輸出入控制
Jack avatarJack2011-05-29
沒有 expect,找 source code 編譯吧
Dorothy avatarDorothy2011-05-31
ssh可以免密碼也可以遠端下指令
Kristin avatarKristin2011-06-03
ssh key +1
Callum avatarCallum2011-06-05
去Sunfreeware找 有expect套件 這個用expect跑不會太難
Quintina avatarQuintina2011-06-11
Solaris ok
Oliver avatarOliver2011-06-16
可以使用 expect 去實做 試試看吧
Robert avatarRobert2011-06-20
python or perl 都有 telnet 的 library
Liam avatarLiam2011-06-24
可以用rsh嗎?