遇到問題:對於免密碼登陸,雖然很簡單,但是還是會出現一些問題。故記錄。
解決問題:① 由於.ssh 和authorized_keys的權限不對,導致無法正確免密碼登錄。
② 由於selinux未關閉,導致做了免密碼,權限也正確的情況下,依然需要輸入密碼才能登陸到服務器
介紹環境: 客戶端:192.168.8.165 服務器:192.168.8.239
目的: 使客戶端192.168.8.165無密碼登錄到服務器192.168.8.239
實驗環境:關閉防火牆,sellinux (客戶端和服務端都執行命令)
service iptables stop setenforce 0
如果沒有ssh命令,請執行以下命令安裝
yum -y install openssh-clients
步驟一: 用ssh-key-gen 在客戶端198.168.8.165上創建公鑰和密鑰
[root@localhost ~]# ssh-keygen -t rsa -P ''
步驟二: 在客戶端執行ssh-copy-id 把公鑰複製到遠程主機上{這裏使用的是ssh-copy-id代替了scp和ssh命令,該命令用在這裏的優點是隻需拷貝文件到服務端,會自動創建authorized_keys,並且給予對應的權限給到文件。如果不是root用戶,那麼就修改root用戶即可。如:ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]。在/home/backup目錄的.ssh目錄下即會自動生成文件authorized_keys}
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
在遠程主機上查看authorized_keys
步驟三: 客戶端192.168.8.165直接登錄遠程主機192.168.8.239
以上,免密碼登陸完成。