2013-04-07 1823 views
1

我在Ubuntu操作系統上配置hadoop。我需要創建RSA密鑰對,讓Hadoop的與它的節點交互,所以我運行這個命令:無法創建目錄/home/hadoop/.ssh:權限被拒絕?

[email protected]:~$ ssh-keygen -t rsa -P "" 

然後我得到這樣的:

Generating public/private rsa key pair. 
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): 
Could not create directory '/home/hadoop/.ssh': permission denied. 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
open /home/hadoop/.ssh/id_rsa failed: No such file or directory. 
Saving the key failed: /home/hadoop/.ssh/id_rsa. 

回答

6

忘記在你的家營造.ssh目錄?

試一下:

mkdir -p ~/.ssh 

然後重新運行ssh-凱基。

也可能你做錯了用戶的ssh-keys創建。你使用sudo啓動了這個shell?

嘗試手動設置HOME dir或在提示中輸入正確的路徑。

+0

甚至還讓後可創建和當前用戶所擁有同樣的錯誤,我認爲我的hadoop用戶沒有root權限。所以我該怎麼做。 – 2013-04-07 08:11:50

+0

我很困惑,ssh-keygen想把鑰匙保存到不是你的家裏的「/home/***hduser***/.ssh/id_rsa」。檢查您的用戶名和ID:「echo $ USER $ HOME; ID」 – loentar 2013-04-07 08:38:40

+0

現在看看我編輯 – 2013-04-07 08:47:03

1

檢查你的主目錄名和權限

   echo $HOME 
      cd ~ ; ls -l 
      ls -l .ssh 
      ls -lR .ssh 

如果上面的輸出是OK,你有正確的權限,也許你的名額已滿

嘗試用「命令」,看看會發生什麼...

+0

cd〜; ls -l返回總計0 – 2013-04-07 09:23:00

+0

ls -l .ssh返回ls:無法訪問.ssh:沒有這樣的文件或目錄 – 2013-04-07 09:24:10

0

似乎當前用戶不擁有主目錄下的內容。

增益如下圖所示的所有權:

[email protected]:~$ sudo chown admin.admin /home/admin/ 
[email protected]:~$ ls -la 
total 32 
drwxr-xr-x 2 admin admin 4096 Nov 3 23:29 . 
drwxr-xr-x 3 admin admin 4096 Dec 23 2012 .. 
-rw------- 1 admin admin 191 Feb 13 2013 .bash_history 
-rw-r--r-- 1 admin admin 220 Apr 3 2012 .bash_logout 
-rw-r--r-- 1 admin admin 3486 Apr 3 2012 .bashrc 
-rw-r--r-- 1 admin admin 675 Apr 3 2012 .profile 
-rw-r--r-- 1 admin admin 0 Nov 3 23:29 .sudo_as_admin_successful 
-rw------- 1 admin admin 4221 Nov 3 20:31 .viminfo 

生成鍵現在將工作作爲.ssh目錄現在將產生不對稱密鑰

0
I have spent arround 1 hr on this and finally got the solution. It is due to permission problem. You have to use chown for your 'hadoop user'. 

1. First make hadoop directory. 
cd /home 
mkdir hadoop 
then check 'ls -l'. it gives result like : 
drwxr-xr-x 2 hadoop hadoop 4096 Aug 22 22:17 hadoop 

2. sudo chown hadoop.hadoop /home/hadoop/ 
3. Then run remaining command for key generater.
相關問題