在 Mac 中啟動 Hadoop的時候客戶端無法連接,報錯:
localhost: ssh: connect to host localhost port 22: Connection refused
啟動 sshd報錯:
$ /usr/sbin/sshd Could not load host key: /etc/ssh/ssh_host_rsa_key Could not load host key: /etc/ssh/ssh_host_dsa_key Could not load host key: /etc/ssh/ssh_host_ecdsa_key Could not load host key: /etc/ssh/ssh_host_ed25519_key Disabling protocol version 2. Could not load host key sshd: no hostkeys available -- exiting.
目錄/etc/ssh/中缺少以上文件,分別生成以上四個文件:
$sudo ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
啟動 sshd 依然報錯,修改文件權限:
$sudo chmod 600 ssh_host_dsa_key
sshd啟動成功!
$ssh localhost
提示需要密碼,這樣 Hadoop 還是不能用的,提示沒有權限。
執行:
$ssh-keygen
一路enter 鍵,在~/ssh/下生成文件:id_rsa、id_rsa.pub
用公鑰生成驗證文件:
cat id_rsa.pub>>~/.ssh/authorized_keysv
重啟終端
$ssh localhost
成功免密進入!