Ubuntu 用 SSH 遠端執行 sudo 指令
阿舍最近在 VPS 上弄了一個網站,目前還在開發和測試階段,所以,常常需要把程式更新上去,阿舍就用 scp 的方式來把程式送到 VPS 上的家目錄下的某個資料夾,之後,再把它用 script 搬到底 /var/www 資料夾下,當阿舍用 SSH 來遠端執行這支 script 的時候,就會遇到「sudo: no tty present and no askpass program specified」的錯誤訊息哩 !
 |
ssh 直接用 sudo 指令會有問題哩 ! |
由於阿舍的 script 要執行的是將檔案從家目錄搬到 /var/www 資料夾,因此,就要透過 sudo 指令來執行,但是,阿舍是用下面這個指令方式來執行這支 script 的,所以,那個要阿舍輸入密碼的訊息就出不來了,只出來了「sudo: no tty present and no askpass program specified」訊息 ...
$ ssh ayu@arthurtoday.com "./cpatd" # sudo 指令包含在 script 裡
「sudo: no tty present and no askpass program specified」
後來,阿舍去查了一下 SSH 的 ManPage 後才知道,原來,是要加上個 -t 選項,這樣才會把遠端主機上的輸出和輸入導到阿舍的電腦上,所以,阿舍改成下面這個樣子後,就會跳出要阿舍輸入密碼的訊息,然後,阿舍輸入完就可以順利執行囉 !
$ ssh -t ayu@arthurtoday.com "./cpatd"
如果需要用 SSH 指令來遠端執行含有 sudo 的指令時,可以試看看囉 ! ....
問題還是沒解決嗎 ??
這裡有更多的 Ubuntu 相關教學可以參考哩 ...
買本阿舍寫的電子書帶走 - Ubuntu 指令新手馬上會用到的 35 個技法
|
好文不藏私,請多分享囉!! ^^=
|
沒有留言 :
張貼留言