2015-12-05 60 views
-1

如果我一直在使用密碼的ssh得UNIX框中選擇一個用戶訪問,現在如果我想做說密碼的ssh到sudo的帳戶

sudo su - hdfs 

此外,在sudoers文件sudo訪問退出,但它要求爲我的密碼。當然,我不知道,因爲我登錄了無密碼模式。

問題:如何解決這個問題,以便自動獲取憑證,就像登錄賬戶一樣。

+0

[超級用戶](http://superuser.com/tour)是電腦愛好者和高級用戶的問答網站。 – Cyrus

+1

與'ssh'無關。 sudoing時,你總是被要求證明你是sudoer用戶,這是通過詢問你的密碼來完成的,即使你已經提供了它。這是一項最低限度的安全措施,可防止某些人臨時訪問您的終端訪問超級用戶權限。如果您需要其他行爲,請查看'sudo'文檔,瞭解您選擇的安全後果並定製'/ etc/sudoers'配置文件。 –

+0

簡單的答案是將自己加入到'wheel'組中,然後使用'visudo'編輯* sudoers *文件(作爲* root *)並取消'%wheel ALL =(ALL)NOPASSWD:ALL'行的註釋。現在* wheel *的所有成員都將具有對所有文件/應用程序的完全'sudo'訪問權限,而不需要密碼。你可以在'/ etc/pam.d/su'中對'su'做同樣的事情,並取消auth足夠的pam_wheel.so信任use_uid'和'auth所需的pam_wheel.so use_uid'(不是所有的發行版都提供選項註釋,所以你可能不得不添加)。 –

回答

2

您的無密碼訪問是因爲您使用的密鑰最有可能是沒有密碼的RSA或DSA。這對於SSH認證來說很重要,但是一旦你進入系統,它就無法使用它的當前容量。

爲了不必爲用戶輸入sudo密碼,您需要有人使用perms將其添加到sudoers文件中。目前您的用戶將被允許使用sudo。

visudo 

編輯/ etc/sudoers。擁有它,所以你永遠不會需要使用密碼sudo的,你可以這樣做:

ramish ALL=(ALL) NOPASSWD:ALL 

* ramish是你的用戶,或特定的命令或二進制文件,如果它只是HDFS你需要:

ramish = (root) NOPASSWD: /sbin/hdfs 

同樣,無論你的用戶是什麼,無論命令是什麼。