2013-12-11 35 views
0

我們一直在嘗試使用opennebula來模擬一個集羣,但是ssh讓我們瘋狂。 對於一些仍然未知的原因,用戶oneadmin(由opennebula創建)能夠ssh到本地主機是非常必要的。 opennebula的「home」目錄(由它創建)是/ var/lib/one,在「one」裏面我們可以找到.ssh目錄。因此,這裏是我做了什麼到現在:oneadmin opennebula ssh localhost

sudo -su oneadmin 
[email protected]:$ cd /var/lib/one/.ssh 
[email protected]:/var/lib/one/.ssh$ ssh-keygen -t rsa 
[email protected]:/var/lib/one/.ssh$ cat id_rsa.pub >> authorized_keys 

而且,我已經改變了所有權限:所有文件和目錄都oneadmin作爲所有者和600(我可以從opennebula引導閱讀)

最後,通過根,我

service ssh restart 

然後我登錄從一個終端作爲oneadmin再次但是當我執行:

ssh [email protected] 

這裏就是我得到

Permission denied (publickey). 

我在哪裏做這該死的錯誤?對於所有這些權限,我們已經失去了超過一天的時間!

回答

0

我剛剛遇到類似的問題 - 結果是開放星雲沒有與selinux相處。

終於找到了解決辦法在這裏 - http://n40lab.wordpress.com/2012/11/26/69/ - 我們需要恢復上下文的〜/ .ssh/authorized_keys的:

$ chcon -v --type=ssh_home_t /var/lib/one/.ssh/authorized_keys 
$ semanage fcontext -a -t ssh_home_t /var/lib/one/.ssh/authorized_keys