2016-08-12 59 views
3

我在寫一個shell腳本來ssh如何使用ssh通過提供靜態文本

連接到使用基於Linux的遠程計算機成功登錄到遠程計算機我之後執行是鍵盤交互操作能夠執行Linux命令,現在我面臨的真正問題是,當試圖爲另一臺遠程機器運行相同的腳本時,它將要求本地身份驗證(usernamepassword)登錄ssh以進一步繼續。

有人可以指導我如何用我的username填寫第一行,並立即做一個回車,並執行password類似的行動。

我試過下面的代碼connect.sh

sshpass -p <remote-passwd> ssh [email protected]<remote-ip> 'bash -s' < test.sh 

test.sh包含

ls 
pwd 

如果我運行connect.sh腳本它完美地執行,而不要求遠程計算機密碼。它還執行lspwd

其實我可以代替lspwdusernamepassword達到我想要做的?

另外,我在找什麼是不可能的? (我已經看到了VB.NET類似的代碼這是解決我的目的,但它不是一個健壯的代碼,我真的沒有對VB scripts任何想法)

更新:我能夠登錄到遠程機器交互非,但遠程機環境立刻詢問本地認證這又需要鍵盤交互,我在尋找實現這一認證的非交互式

+0

通過SSH自動登錄確實是可能的,檢查http://stackoverflow.com/questions/12202587/automatically-enter-ssh-password-with-script – bdvll

+0

另請參見[**編寫一個shell腳本ssh到一個遠程機器和執行命令**](http://stackoverflow.com/questions/13928116/write-a-shell-script-to-ssh-to-a-remote-machine-and-execute-commands)。有關詳細信息關於設置*無密碼*訪問,請參閱:[**如何設置兩個不同帳戶之間的無密碼驗證**](http://stackoverflow.com/questions/36171227/how-to-setup-the-passwords稀少的身份驗證 - 間二不同賬戶/ 36172337 S = 1 |?0.4287#36172337)。 –

+0

@bdvll我對這部分問題還好,我的問題是在實現這個之後... – prince

回答

0

如果可能的話,你應該配置一個公共密鑰服務器,所以你不必提供密碼。這更安全,並將更直接地解決您的問題。

您可能還想查看編排框架,而不是自己實現這一切。如果你在做小事情,Fabric是一個不錯的選擇。如果這看起來會變得更大,你應該看看類似Ansible的東西,它還可以額外處理系統配置和其他一百萬件事情,但只需要很少的設置即可開始使用。

+0

謝謝@Xiong,將檢查您提供的輸入。謝謝。 – prince

相關問題