[問題] 有關使用script遠端telnet後執行指令

看板Linux作者時間15年前 (2011/05/25 20:19), 編輯推噓6(605)
留言11則, 9人參與, 最新討論串1/1
各位大大好 小弟最近想用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都是要手動輸入帳號密碼的 謝謝各位大大 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.41.100.105

05/25 20:33, , 1F
設SSH KEY, 可以的話
05/25 20:33, 1F

05/25 20:36, , 2F
這個一定要用類似 expect 之類的功能來做交談式輸出入控制
05/25 20:36, 2F

05/25 20:37, , 3F
沒有 expect,找 source code 編譯吧
05/25 20:37, 3F

05/25 20:55, , 4F
ssh可以免密碼也可以遠端下指令
05/25 20:55, 4F
telnet跟ssh我都可以遠端下指令 只是telnet或ssh跟要下的指令都寫在script裡面的話 指令的結果會變成本地端的

05/25 21:53, , 5F
ssh key +1
05/25 21:53, 5F
我去查了一下ssh key這個東西 好像要在被連線的主機作一些修改設定 可是我有一百多台要連線... 這樣不就失去寫script自動化的意義了嗎 囧 還是謝謝各位大大 我可能自己手動連線吧... ※ 編輯: vn801368 來自: 114.41.100.105 (05/25 22:15)

05/25 22:20, , 6F
去Sunfreeware找 有expect套件 這個用expect跑不會太難
05/25 22:20, 6F

05/26 00:59, , 7F

05/26 01:00, , 8F
Solaris ok
05/26 01:00, 8F

05/26 09:21, , 9F
可以使用 expect 去實做 試試看吧
05/26 09:21, 9F

05/26 22:26, , 10F
python or perl 都有 telnet 的 library
05/26 22:26, 10F

05/27 00:18, , 11F
可以用rsh嗎?
05/27 00:18, 11F
文章代碼(AID): #1DtFFdXj (Linux)
文章代碼(AID): #1DtFFdXj (Linux)