2013-03-18 217 views
1

我編寫了一個shell腳本,爲用戶提供登錄帳戶列表,當用戶選擇一個帳戶時,他/她通過ssh登錄到所選帳戶。腳本從主帳戶,並且與列表中的所有其他帳戶(從屬)之間具有無密碼ssh連接。與主服務器的ssh連接不同,我希望launch another putty session將從帳戶詳細信息作爲參數傳遞。如何實現此目的?從shell腳本啓動putty

我想到的一件事是,如果我可以編寫一個批處理文件(我的用戶使用Windows),以帳戶信息作爲參數。此批處理腳本可以在unix腳本中調用(這是可能的)。因此,unix腳本將通過ssh在Windows上執行批處理文件,並且在此過程中它還將參數(服務器詳細信息)傳遞給putty。

或者還有其他更好的方法嗎?

編輯

從Linux機器ssh到Windows機器,是不是必須放於Windows機器上託管的某些類型的服務器(即,TELNET,SSH,FTP或任何其他類型的服務器)?

+0

「可以在unix腳本內調用批處理」。這是什麼意思?你不能在Windows上運行unix shell腳本(除非你使用類似cygwin的東西),你只需要使用'ssh'。也許我不明白... – tjameson 2013-03-18 07:30:49

+0

編輯了這個問題。 – g4ur4v 2013-03-18 07:41:00

+0

我仍然不知道如何從unix腳本中調用Windows批處理文件...您是從一個* nix盒子進入Windows盒子的嗎? – tjameson 2013-03-18 07:42:30

回答

0

如果您要從GNU Linux或UNIX計算機上運行,​​則根本不需要使用putty。只需使用SSH。本地SSH中的選項比通過像PuTTY這樣本機較少的東西運行起來更靈活。

是的,你的目標將需要一臺服務器,以「捕捉」來自源計算機的連接。您還必須確保22的默認端口一直處於打開狀態。

但是......聽起來像是你想要做的事情。我建議你看看使用SSH密鑰並通過su/sudo「啓動」SSH。 (而不是正常的用戶啓動su/sudo來獲得root權限,root帳戶可以在另一個帳戶下啓動任何東西。)