1. 程式人生 > >Xshell配置ssh使用密鑰公鑰(publice key)登錄

Xshell配置ssh使用密鑰公鑰(publice key)登錄

sta 服務器 lan one public 直接 width receive 不顯示

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

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

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

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

技術分享

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

技術分享

點擊“Next”,等待密鑰生成:

技術分享

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

技術分享

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

技術分享

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

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

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

[root@localhost ~]# cd /root/.ssh/
[root@localhost .ssh]# rz
rz waiting to receive.
[root@localhost .ssh]# cat me.pub >> authorized_keys
[root@localhost .ssh]# chmod 600 authorized_keys
[root@localhost .ssh]# ls
authorized_keys known_hosts me.pub
[root@localhost .ssh]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4VCOWFrARc1m3MfEAL50v2Z2siavO3Ijpr/LZ00EZah8EjfZhqjAc/agkljyXmNGpVDpRdtlYco8h3P5vegXOEgKcX74fDYm0vNdVABVD1XSD8ElNyLTCCNk7rZJbi3htJox3Q1n0vnMmB5d20d9occkAx4Ac94RWNS33EC5CszNTMgAIn+uZl0FlQklS1oSyWFahSTWyA6b33qG7Y5E4b6J/caObnPx6EgtBrgi97gXJHZWyYlGrpWmUuhPqs5XToRB08CVxAyzewtq1MXv0p+Po4L1pbHLRf+TSoZ5RSBZZjY4/JMAzdXHNtnAyO0j0VNGbBXKUcNSAHZ

  技術分享

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

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

技術分享

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

技術分享

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

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

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

技術分享

Xshell配置ssh使用密鑰公鑰(publice key)登錄