一、前言:
ssh遠程登錄密碼認證的方式有三種,password、Keyboard Interactive、Public Key前面兩種方式就是密碼認證,含義都是一樣大同小異,
第三種是登錄方式最安全的一種,下面我們就來實作第三種方式public key秘鑰認證方式,
二、原理:
ssh客戶端利用服務端發過來的私鑰,進行登錄的認證,認證服務端的公鑰,從來實作安全的訪問,
三、準備:
服務端系統:ubuntu
四、服務端生成秘鑰
ssh-keygen -b 1024 -t dsa
接下來直接Enter
生成的路徑:/root/.ssh/
-rw-r--r--. 1 root root 668 Aug 1 05:27 id_dsa
-rw-r--r--. 1 root root 616 Aug 1 05:05 id_dsa.pub
修改權限:
chmod 700 .ssh/
chmod 600 ~/.ssh/id_dsa
chmod 644 ~/.ssh/id_dsa.pub
生成認證秘鑰:
cd .ssh/
cat id_dsa.pub >> authorized_keys
-rw-r--r--. 1 root root 616 Aug 1 05:27 authorized_keys
-rw-r--r--. 1 root root 668 Aug 1 05:27 id_dsa
-rw-r--r--. 1 root root 616 Aug 1 05:05 id_dsa.pub
五、更改sshd的組態檔
vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes #開啟密鑰認證
AuthorizedKeysFile .ssh/authorized_keys #設定認證密鑰路徑
PasswordAuthentication no #禁用密碼認證
保存退出
六、將私鑰發送給客戶端,重啟sshd服務
systemctl restart sshd #可能不生效
service ssh restart #可用service ssh reload替代
七、使用xshell遠程登錄
ssh 地址--->輸入用戶名--->選擇public key匯入證書--->即可登錄
選擇瀏覽檔案,選擇私鑰即可
八、使用winscp遠程登錄
新建站點,選擇SFTP,輸入主機名,用戶名,高級選擇SSH驗證,密鑰檔案選擇dsa或者rsa私鑰檔案,自動轉成puTTY私鑰檔案
九、使用xshell生成密鑰
如果有用xshell,可以選擇Public Key登錄-瀏覽-用戶密鑰-生成,保存公鑰,上傳到.ssh目錄,
使用如下命令cat id_dsa.pub >> authorized_keys來設定驗證的公鑰,xshell端使用私鑰來驗證登錄,
私鑰也可以匯出給其它人使用,
本文是參考網路文章,結合本人實踐經驗所得,歡迎大家轉載分享,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/385278.html
標籤:其他
