CentOS7.0免密登錄以及錯誤解決

客戶端配置

(1)生成公鑰/私鑰對

ssh-keygen -t rsa -P ''

-P表示密碼,-P ” 就表示空密碼,也可以不用-P參數,這樣就要三車回車,用-P就一次回車。
如果是root用戶下生成,生成位置將在:/home/.ssh裏面。前提是,你得創建一個.ssh目錄。如果是普通用戶,將在/home/用戶名/.ssh裏面。

(2)公鑰複製到服務器
可以手動複製,也可以通過scp遠程傳輸複製(需要登錄密碼):

想要免密登錄普通用戶:
scp .ssh/id_rsa.pub 用戶名@192.168.1.181:/home/用戶名/.ssh/authorized_keys

想要免密登錄root用戶:
scp .ssh/id_rsa.pub root@192.168.1.181:/root/.ssh/authorized_keys

服務器配置

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

在root 用戶下才能配置。

vi /etc/ssh/sshd_config

修改之後爲:

PermitRootLogin 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/用戶名/.ssh
chmod 644 /home/用戶名/.ssh/authorized_keys

如果是root修改:

chmod 700 /root/.ssh
chmod 644 /root/.ssh/authorized_keys
通過命令連接:ssh -v 用戶名@hostname

如果root用戶或者普通用戶免密登錄報錯(SSH configuration, publickeys, Permission denied (publickey,password)):

請關閉SELinux:

暫時關閉(重啓後恢復):
setenforce 0  

永久關閉(需要重啓):
vi /etc/selinux/config  
SELINUX=disabled 

參考:

https://www.cnblogs.com/xubing-613/p/6844564.html
http://flysnowxf.iteye.com/blog/1567570

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章