我按照官網和各種網友的配置方案做了。
ssh-keygen
遇到提示輸入檔案名稱或是密碼的地方不用管,只需按斷行符號鍵即可。完成之後,在/home/username(“username”是登入名稱)目錄下會有產生 一個".ssh"目錄,“ls .ssh”之後會發現裡面有兩個檔案,一個是id_rsa,另一個是id_rsa.pub,前者是私密金鑰,後者是公開金鑰。
在終端輸入
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
修改檔案許可權 chmod 777 -R /root/.ssh(問題就在這,777不行,必須要600)
重啟ssh好幾次,發現居然ssh_agent殭屍進程了。百思不得其解啊,網上搜了老半天了還是找不到方法。一起之下在另外一台電腦同樣裝了個UBUNTU,一樣的做法,還是一樣的錯誤。
- 本來沒有 authorized_keys這個檔案,以為是這個有問題,後來發現不是,cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys這句話會自動建立的。
- /etc/ssh/sshd_config又去看了老半天了沒問題啊。我靠!
AuthorizedKeysFile %h/.ssh/authorized_keys PubkeyAuthentication yes
- 最後突然搜到個說許可權只能是600的。修改了。果然不錯。
這他媽的真坑爹啊,777的許可權居然不行還必須要600的許可權。 root/.ssh這個檔案夾和下面的檔案要這個許可權。
唉,浪費好多時間。搞的腦殼都大了
然後回到node1,複製authorized_keys到node2 和node3
[hadoop@hadoop .ssh]$ scp authorized_keys node2:/home/hadoop/.ssh/
[hadoop@hadoop .ssh]$ scp authorized_keys node3:/home/hadoop/.ssh/