CentOS 7 SSH使用證書登錄

jopen 8年前發布 | 58K 次閱讀 CentOS

1. 生成用于SSH的公鑰和私鑰(本例用戶為ifshow)

ssh-keygen -t rsa

會提示輸入:密鑰存放位置(直接回車,默認在/home/ifshow/.ssh/目錄)、密碼短語、重復密碼短語。

完成后在/home/ifshow/.ssh/目錄下生成了2個文件:id_rsa為私鑰,id_rsa.pub為公鑰。

2. 導入公鑰

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3. 設置正確的文件和文件夾權限

chown -R 0700  ~/.ssh
chown -R 0644  ~/.ssh/authorized_keys
chown -R ifshow:ifshow /home/ifshow

開啟SELinux時,還需要執行(root用戶把/home改成/root)

restorecon -R -v /home

4. 修改SSH配置文件,支持使用證書登錄(root權限)

vi /etc/ssh/sshd_config

查找RSAAuthentication、StrictModes、PubkeyAuthentication、AuthorizedKeysFile把所在行修改為:

RSAAuthentication yes
StrictModes no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

重啟SSH服務

systemctl restart sshd.service

5. Windows客戶端配置Putty使用證書登錄

5.1 制作用于Putty的私鑰

下載id_rsa到本地;
運行PuTTY Key Generator;
點擊File – Load private key(All Files *.*),導入id_rsa文件;
點擊Save private key按鈕,命名并生成ppk文件,比如ifshow.ppk。
這個ppk文件就是用于Putty的私鑰。

5.2 設置putty實現用證書登錄

Putty→Session:輸入Host Name 或者 IP Address;
Putty→Connection→Data:輸入Auto-login username(自動登陸用戶名);
Putty→Connection→SSH→Auth:在Private key file for authentication選擇私鑰文件;
Putty→Session:Saved Session:輸入某個名稱保存,以后直接雙擊該名稱就可登錄。

也可以用帶參數的快捷方式執行證書登錄,比如:

"D:\PUTTY\PUTTY.EXE" -i "D:\key\ifshow.ppk" ifshow@xxx.xxx.xxx.xxx

6. CentOS 7客戶端使用證書登錄

ssh命令

ssh -i ~/.ssh/id_rsa remote_username@remote_ip

scp命令

scp -i ~/.ssh/id_rsa local_file remote_username@remote_ip:remote_file

也可以把私鑰寫入客戶端本地SSH配置文件,省去每次手動指定私鑰:

vi /etc/ssh/sshd_config

在配置文件中加入:

IdentityFile ~/.ssh/id_rsa

重啟SSH服務

systemctl restart sshd.service

7. 修改SSH配置文件,禁止使用密碼登錄(root權限)

vi /etc/ssh/sshd_config

查找PasswordAuthentication yes修改為:

PasswordAuthentication no

重啟SSH服務

systemctl restart sshd.service

來自: http://my.oschina.net/liting/blog/600098

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!