ssh免密碼登錄Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 的解決方案!


當出現Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 警告的時候,恭喜你,你已經離成功很近了。

遠程主機這里設為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!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM