Xshell配置ssh免密碼登錄-密鑰公鑰(Public key)與私鑰(Private Key)登錄【已成功實例】


本文轉自https://blog.csdn.net/qjc_501165091/article/details/51278696

ssh登錄提供兩種認證方式:口令(密碼)認證方式和密鑰認證方式。其中口令(密碼)認證方式是我們最常用的一種,這里介紹密鑰認證方式登錄到linux/unix的方法。

使用密鑰登錄分為3步:
1、生成密鑰(公鑰與私鑰);
2、放置公鑰(Public Key)到服務器~/.ssh/authorized_key文件中;
3、配置ssh客戶端使用密鑰登錄。

一、生成密鑰公鑰(Public key)與私鑰(Private Key)

打開Xshell,在菜單欄點擊“tools”,在彈出的菜單中選擇“User Key Generation Wizard...”(密鑰生成向導),如下圖:

xshell_make_public-key-01

彈出“User Key Generation Wizard”對話框,在“Key Type”項選擇“RSA”公鑰加密算法,“Key Length”選擇為“2048”位密鑰長度,如下圖:

xshell_make_public-key-02

點擊“Next”,等待密鑰生成:
xshell_make_public-key-03

繼續下一步,在“Key Name”中輸入Key的文件名稱,我這里為“key”;在“Passphrase”處輸入一個密碼用於加密私鑰,並再次輸入密碼確認,如下圖:
xshell_make_public-key-04

點擊“Next”,密鑰生成完畢(Public key Format選擇SSH2-OpenSSH格式),這里顯示的是公鑰,我們可以復制公鑰然后再保存,也可以直接保存公鑰到文件,如下圖。私鑰這里不顯示,可以在“User Key Mangager...”導出到文件:
xshell_make_public-key-05

點擊“Save as file...”按鈕,將公鑰(Public key)保存到磁盤,文件名為“key.pub”,備用。

二、上傳公鑰(Public Key)到服務器:

使用到Xshell登錄到服務器,進入到“/root/.ssh/”目錄,運行rz命令(如果沒有rz命令,運行yum install lrzsz安裝),將key.pub發送到服務器,然后運行如下命令,將公鑰(Public Key)導入到“authorized_keys”文件:

  1. [root@localhost ~]# cd /root/.ssh/
  2. [root@localhost .ssh]# rz
  3. rz waiting to receive.
  4. [root@localhost .ssh]# cat me.pub >> authorized_keys
  5. [root@localhost .ssh]# chmod 600 authorized_keys
  6. [root@localhost .ssh]# ls
  7. authorized_keys known_hosts me.pub
  8. [root@localhost .ssh]# cat authorized_keys
  9. ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4VCOWFrARc1m3MfEAL50v2Z2siavO3Ijpr/LZ00EZah8EjfZhqjAc/agkljyXmNGpVDpRdtlYco8h3P5vegXOEgKcX74fDYm0vNdVABVD1XSD8ElNyLTCCNk7rZJbi3htJox3Q1n0vnMmB5d20d9occkAx4Ac94RWNS33EC5CszNTMgAIn+uZl0FlQklS1oSyWFahSTWyA6b33qG7Y5E4b6J/caObnPx6EgtBrgi97gXJHZWyYlGrpWmUuhPqs5XToRB08CVxAyzewtq1MXv0p+Po4L1pbHLRf+TSoZ5RSBZZjY4/JMAzdXHNtnAyO0j0VNGbBXKUcNSAHZ

xshell_public-key_login_upload

三、配置Xshell使用密鑰認證方式登錄到服務器:

打開Xshell,點擊“New”按鈕,彈出“New Session Properties”對話框,在“Connection”欄目中,輸入剛剛配置好公鑰(Public Key)的IP地址和端口,如下圖所示:

xshell_public-key_set_02

點擊左側的“Authentication”,切換到認證欄目,在“Method”選擇“Public Key”認證,用戶名輸入“root”(公鑰是放在root目錄下的.ssh文件夾中),在“User Key”中選擇我們剛才生成的私鑰“key”,“Passphrase”中輸入私鑰的加密密碼。

xshell_public-key_set_01

點擊確定,Xshell配置ssh免密碼登錄配置完成。

附錄:linux ssh-keygen命令生成密鑰:

其實,linux下的ssh-keygen下也可以生成密鑰,在linux下輸入ssh-keygen -t rsa,在提示下,輸入密鑰的名稱(這里為key)和私鑰加密密碼,既完成密鑰生成。生成的兩個文件中,“key”為私鑰,“key.pub”為公鑰。如下圖所示:

linux_make_public-key


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM