各位大大好
小弟最近想用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都是要手動輸入帳號密碼的
謝謝各位大大
--
小弟最近想用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