Xshell配置ssh免密碼登陸-密鑰公鑰(Public key)與私鑰(Private Key)登

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

使用密鑰登陸分爲3步:
一、生成密鑰(公鑰與私鑰);
二、放置公鑰(Public Key)到服務器~/.ssh/authorized_key文件中;
三、配置ssh客戶端使用密鑰登陸。
算法

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

打開Xshell,在菜單欄點擊「tools」,在彈出的菜單中選擇「User Key Generation Wizard...」(密鑰生成嚮導),以下圖:shell

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-03ssh

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

點擊「Next」,密鑰生成完畢(Public key Format選擇SSH2-OpenSSH格式),這裏顯示的是公鑰,咱們能夠複製公鑰而後再保存,也能夠直接保存公鑰到文件,以下圖。私鑰這裏不顯示,能夠在「User Key Mangager...」導出到文件:
xshell_make_public-key-05spa

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

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

使用到Xshell登陸到服務器,進入到「/root/.ssh/」目錄,運行rz命令(若是沒有rz命令,運行yum install lrzsz安裝),將key.pub發送到服務器,而後運行以下命令,將公鑰(Public Key)導入到「authorized_keys」文件:unix

  1. [root@localhost ~]# cd /root/.ssh/orm

  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

3、配置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

相關文章
相關標籤/搜索