ssh 公鑰免密碼登陸失敗的緣由與解決辦法

在使用 ssh-copy-id 成功複製公鑰到遠程主機以後,使用 ssh 登陸依然提示須要密碼,能夠的緣由爲: linux

  1. 權限問題
  2. SSHD配置問題
  3. 若是是 RedHat/CentOS,還有多是啓用了 selinux 的問題


1、權限問題的解決辦法: shell

  1. 遠程主機對應用戶的 ~ 目錄,權限應爲 550 或 750;
  2. 遠程主機對應用戶的 ~/.ssh 目錄,權限應爲 700;
  3. 遠程主機對應用戶的 ~/.ssh/authorized_keys 文件,權限應爲 600

命令以下 ssh

chmod 775 ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys


2、配置問題,編輯 /etc/ssh/sshd_config 文件,確保如下參數的值一致: spa

PermitRootLogin yes
RSAAuthentication yes
PubkeyAuthentication yes
# 若是必需,關閉嚴格模式
StrictModes no

修改以後,重啓 sshd,例如: rest

service sshd restart
或
service ssh restart


3、RedHat/CentOS的selinux問題 code

若是RedHat/CentOS開啓了selinux,會致使不少怪異的問題,絕大多數生產環境不須要selinux,安裝完系統以後,第一件事就應該把selinux關閉。方法是編輯 /etc/sysconfig/selinux ,改爲: it

SELINUX=disabled

再重啓系統 io

reboot
相關文章
相關標籤/搜索