ssh 無密碼登陸遠程服務器
1.在客戶端創(chuàng)建公鑰
[root@Server1 ~]# ssh-keygen -t rsa
輸入后,會提示創(chuàng)建.ssh/id_rsa、id_rsa.pub的文件,其中第一個為密鑰,第二個為公鑰。過程中會要求輸入密碼,為了ssh訪問過程無須密碼,可以直接回車 。
[root@Server1 ~]# ls -l .ssh
總用量 8
-rw-------. 1 root root 1675 12月 10 22:20 id_rsa
-rw-r--r--. 1 root root 394 12月 10 22:20 id_rsa.pub
特別要注意的是這2個文件的權(quán)限.
- id_rsa 的權(quán)限是 -rw-------
- id_rsa.pub 的權(quán)限是 -rw-r--r--
2. 將公鑰復制到服務器的 ~/.ssh 目錄下
復制客戶端 .ssh/id_rsa.pub 文件中的內(nèi)容,添加到服務器的 ~/.ssh/authorized_keys 文件中, 如果服務器端authorized_keys文件不存在,新建一個即可.
3. 修改服務sshd配置并重啟sshd服務
修改服務器端的 /etc/ssh/sshd_config 文件, 打開 AuthorizedKeysFile

使用命令
/etc/init.d/sshd restart重啟 sshd 服務.
4. 設置服務器文件和目錄權(quán)限:
root:~/.ssh# ll
total 24K
drwx------ 2 root root 4.0K Jan 13 10:42 ./
dr-xr-x--- 15 root root 4.0K Jan 16 00:37 ../
-rw-r--r-- 1 root root 408 Jan 13 10:42 authorized_keys
-rw------- 1 root root 1.7K Aug 13 2015 id_rsa
-rw-r--r-- 1 root root 394 Aug 13 2015 id_rsa.pub
-rw-r--r-- 1 root root 395 Jul 1 2015 known_hosts
特別要注意的一點是 .ssh 目錄的權(quán)限是 drwx------
5. 客戶端驗證使用SSH IP地址的方式無密碼訪問
ssh root@192.168.1.3
如果設置有錯誤, 則還是會提示輸入密碼確認. 對于 Centos 可以查看log文件 /var/log/secure , 尋找原因.
在客戶端加 -vvv 可以輸出 debug 信息:
ssh -vvv root@192.168.1.3