1. 程式人生 > >Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

免密碼 etc sys keys 權限 sla word 總結 都是

當出現警告的時候,恭喜你,你已經離成功很近了。

遠程主機這裏設為slave2,用戶為Hadoop。

本地主機設為slave1

以下都是在遠程主機slave2上的配置,使得slave1可以免密碼連接到slave2上。如果想免密碼互聯,原理一樣的,在slave1上也這麽配置即可!

(1)首先:配置ssh服務器配置文件。

在root 用戶下才能配置。

vi /etc/ssh/sshd_config

權限設為no:

#PermitRootLogin yes

#UsePAM yes

#PasswordAuthentication yes

如果前面有# 號,將#號去掉,之後將yes修改為no。

修改之後為:

PermitRootLogin no

UsePAM no

PasswordAuthentication no

權限設為yes:

RSAAuthentication yes

PubkeyAuthentication yes

(2)重啟sshd服務

systemctl restart sshd.service

systemctl status sshd.service #查看ssh服務的狀態

#systemctl start sshd.service #開啟ssh服務

#sytemctl enable sshd.service #ssh服務隨開機啟動,還有個disabled

#systemctl stop sshd.ervice #停止

正常情況下應該是Active:active(running)

(3)修改文件夾以及文件的權限。

#chmod 700 /home/Hadoop/.ssh

#chmod 644 /home/Hadoop/.ssh/authorized_keys

(4)在slave1上進行測試

ssh slave2

技術分享圖片

上面就是完整的解決這個問題的辦法!

總結:出現這種警告,我覺得最終的原因是文件夾以及文件的讀寫權限的問題。

建議首先修改/home/Hadoop/.ssh以及/home/Hadoop/.ssh/authorized_keys的權限。

註意,還有可能是禁用了root登錄出現這種情況。

當切換到普通用戶—Hadoop之後就又能登錄了。

技術分享圖片

即使在/etc/ssh/sshd_config 中配置了PermitRootLogin 為yes,還是不能用slave1的root用戶直接無密碼連接到slave2上。只要切換到會普通用戶就可以了,不影響使用。畢竟root用戶在Linux系統中如此特殊和重要。

Done!

Permission denied (publickey,gssapi-keyex,gssapi-with-mic)