一,單機秘密登錄
進入/etc/ssh 文件夾 編輯sshd_config 文件(sshd_config是ssh 服務端文件,ssh_config是客戶端文件)
sudo vi sshd_config
將一下注釋放開即可
RSAAuthentication yes #私鑰認證
PubkeyAuthentication yes #公鑰認證
AuthorizedKeysFile .ssh/authorized_keys #認證的key存放的文件夾路徑以及文件名稱
重啟sshd服務
sudo service sshd restart
進入 .ssh 文件夾 cd /home/hadoop/.ssh
使用 ssh-keygen -t rsa 命令生成秘鑰
一直回車出現圖案就可以
+--[ RSA 2048]----+
| . |
| + . . |
| o o + + |
| . o = o |
| o + S . |
| o + . = |
| . * . . o |
| o o . . |
| ..E ... |
+-----------------+
將公鑰 id_rsa.pub內容寫入到 authorized_keys 就是sshd_config 配置的那個文件名
cat id_rsa.pub >> authorized_keys
修改文件權限 chmod 600 authorized_keys (注:權限太高可能會秘密認證失敗)
sudo service sshd restart 重啟ssh服務
免密登錄已完成 可以測試下ssh localhost 不用密碼直接登錄
二,集群免密登錄
集群之間免密登錄設置
1) 各集群節點生成rsa公鑰私鑰文件(<USERNAME>):直接輸入以下命令,執行后會在ssh目錄生成id_rsa、id_rsa.pub目錄
cd .ssh(如果沒有這個文件可以手動創建這個文件夾)
ssh-keygen -t rsa (這個命令后輸入三個回車)
2) 登錄<IP1>服務器(<USERNAME>),將id_rsa.pub公鑰內容拷貝到authorized_keys文件中
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
3) 登錄其它集群節點(<USERNAME>),將其它集群節點的公鑰文件內容都拷貝到<IP1>主機上的authorized_keys文件中
ssh-copy-id -i <IP1>
4) 將authorized_keys拷貝到其他集群節點
scp .ssh/authorized_keys <USERNAME>@<HOSTNAME>:~/.ssh/
5) 檢驗免密登錄是否配置成功(第一次ssh登錄時需要輸入密碼,再次訪問時即可免密碼登錄)
ssh <USERNAME>@<HOSTNAME>
各集群節點之間時間同步設置
略
