說明:今天來了一個小夥伴,因為業務需要,要登入一台測試系統,問我密碼是多少,我說我配置的密鑰登入的,估計他不太熟悉,是以我簡單的示範了一下配置過程給他看,順便也記錄了下整個配置過程。
1、關于密鑰登入系統的原理
關于配置原理,可以參考https://help.aliyun.com/knowledge_detail/41493.html,現在阿裡雲的官方文檔寫的很詳細,我也不想粘貼複制了。
2、服務端的配置過程
a)生成密鑰對(這裡我隻是做個測試,是以一路回車就好了)
<code>[root@LVS-DR02 ~]</code><code># ssh-keygen -t rsa</code>
<code>Generating public</code><code>/private</code> <code>rsa key pair.</code>
<code>Enter </code><code>file</code> <code>in</code> <code>which</code> <code>to save the key (</code><code>/root/</code><code>.</code><code>ssh</code><code>/id_rsa</code><code>): </code>
<code>Created directory </code><code>'/root/.ssh'</code><code>.</code>
<code>Enter passphrase (empty </code><code>for</code> <code>no passphrase): </code>
<code>Enter same passphrase again: </code>
<code>Your identification has been saved </code><code>in</code> <code>/root/</code><code>.</code><code>ssh</code><code>/id_rsa</code><code>.</code>
<code>Your public key has been saved </code><code>in</code> <code>/root/</code><code>.</code><code>ssh</code><code>/id_rsa</code><code>.pub.</code>
<code>The key fingerprint is:</code>
<code>ce:6a:a7:fc:e6:d4:f4:21:98:5c:3b:f1:03:01:9d:7a [email protected]</code>
<code>The key's randomart image is:</code>
<code>+--[ RSA 2048]----+</code>
<code>| .o.. |</code>
<code>| o. |</code>
<code>| .+ |</code>
<code>| ..+E= |</code>
<code>| S.= + |</code>
<code>| o o + o |</code>
<code>| + . . |</code>
<code>| ..oo |</code>
<code>| .+*o |</code>
<code>+-----------------+</code>
b)檢視密鑰的位置(預設存在家目錄的.ssh下)*:
<code>[root@LVS-DR02 ~]</code><code># cd /root/.ssh/</code>
<code>[root@LVS-DR02 .</code><code>ssh</code><code>]</code><code># ll</code>
<code>total 8</code>
<code>-rw------- 1 root root 1679 Jun 26 20:13 id_rsa</code>
<code>-rw-r--r-- 1 root root 409 Jun 26 20:13 id_rsa.pub</code>
c)設定Linux主機:
<code>把id_rsa.pub 複制為authorized_keys,放在需要登陸的linux主機的~/.</code><code>ssh</code><code>目錄下</code>
<code>[root@LVS-DR02 .</code><code>ssh</code><code>]</code><code># cat id_rsa.pub >>authorized_keys</code>
d)設定ssh服務參數
SSH 服務預設開啟了證書認證支援。編輯 SSH 服務配置檔案(預設為/etc/ssh/sshd_config),確定如下參數沒有顯示的置為 no。否則,将參數值修改為yes,或者删除或注釋(在最開頭添加 # 号)整行配置。
<code>[root@LVS-DR02 .</code><code>ssh</code><code>]</code><code># vim /etc/ssh/sshd_config</code>
<code>将下面兩行的注釋取消</code>
<code>#RSAAuthentication yes</code>
<code>#PubkeyAuthentication yes</code>
e)下載下傳私鑰到遠端計算機(公鑰相當于鎖,私鑰相當于鑰匙)
<code>[root@LVS-DR02 .</code><code>ssh</code><code>]</code><code># sz -y id_rsa</code>
3、用戶端的配置
a)如下圖所示,進入xshell的登入界面
<a href="https://s5.51cto.com/wyfs02/M00/9A/14/wKioL1lRAbnyuPlvAACb8kdVwxk421.jpg" target="_blank"></a>
b)選擇基于Public Key的登入驗證方式
<a href="https://s5.51cto.com/wyfs02/M00/9A/14/wKioL1lRAbrRs6wwAACsEDfpE3Q572.jpg" target="_blank"></a>
c)導入key
<a href="https://s5.51cto.com/wyfs02/M01/9A/14/wKiom1lRAbqymgTFAACpN4hK17Y978.jpg" target="_blank"></a>
d)選擇導入
<a href="https://s2.51cto.com/wyfs02/M01/9A/14/wKioL1lRAbuTDX4cAABErvpBmkk104.jpg" target="_blank"></a>
e)這裡我們将之前從服務端sz -y導入的id_rsa改名為LVS-RS02,主要也是為了對應不同的服務
<a href="https://s2.51cto.com/wyfs02/M02/9A/14/wKiom1lRAbvQ4gu2AABP35j9RQw881.jpg" target="_blank"></a>
f)這樣我們就可以很友善的登入到系統中了
<a href="https://s2.51cto.com/wyfs02/M02/9A/14/wKioL1lRAbuhd9J5AABkR907xa0790.jpg" target="_blank"></a>
補充方法:
1)在windows的xshell下生成密鑰
<a href="https://s2.51cto.com/wyfs02/M00/9A/5D/wKioL1lUurLhfRZIAACKwboGKkA801.png" target="_blank"></a>
2)選擇預設的RSA密鑰類型,保持密鑰長度為2048
<a href="https://s2.51cto.com/wyfs02/M02/9A/5C/wKiom1lUurLgZZ7cAACDYjnAACo113.png" target="_blank"></a>
3)生成密鑰對的過程
<a href="https://s1.51cto.com/wyfs02/M01/9A/5D/wKioL1lUurPSe0rsAAB6R-yJVvw524.png" target="_blank"></a>
4)預設的密鑰名稱為id_rsa_2048
<a href="https://s4.51cto.com/wyfs02/M00/9A/5D/wKioL1lUurTxhNIwAAB8ODPl6-I306.png" target="_blank"></a>
5)為了避免每次登陸輸入密碼,這裡我保持密碼為空
<a href="https://s4.51cto.com/wyfs02/M01/9A/5C/wKiom1lUurTjoov8AACQN92GB0M263.png" target="_blank"></a>
6)儲存複制的公鑰
<a href="https://s4.51cto.com/wyfs02/M02/9A/5C/wKiom1lUurWSpJmOAACjDzSDLQA800.png" target="_blank"></a>
7)将公鑰拷貝到服務端的.ssh目錄下
<code>[root@LVS-DR01 .</code><code>ssh</code><code>]</code><code># cat id_rsa_2048.pub </code>
<code>ssh</code><code>-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzoNEC5+T6dl+p5nD78</code><code>/SPcqdFPecSNVHF7R6FhY0cxCHDSWUTORU4isGIRJOwmr3o</code><code>+7kgpY8o4ACw8FgYY2xt3jjFo8t1xlcnKZ4s0VxyqRrVFe4xZa2dGxyaQ6q13Bwno+yE93+nfXK2W1+aBDuouGgaFX2av9lGWJqfzXoHh+yKATF367ErnUBIQbM0N</code><code>/rPBzggxtyKCHekOu1605Fie/xcQTZJbvm2dkCwMJg1gx2B4qgBKIbLi</code><code>+Q==[root@LVS-DR01 .s</code>
<code>total 16</code>
<code>-rw------- 1 root root 1675 Jun 29 09:46 id_rsa</code>
<code>-rw-r--r-- 1 root root 380 Jun 29 16:14 id_rsa_2048.pub</code>
<code>-rw-r--r-- 1 root root 409 Jun 29 09:46 id_rsa.pub</code>
<code>-rw-r--r-- 1 root root 976 Jun 29 09:48 known_hosts</code>
<code>[root@LVS-DR01 .</code><code>ssh</code><code>]</code><code># ls -la</code>
<code>total 20</code>
<code>drwx------ 2 root root 80 Jun 29 16:15 .</code>
<code>dr-xr-x---. 18 root root 4096 Jun 29 15:50 ..</code>
<code>-rw------- 1 root root 1675 Jun 29 09:46 id_rsa</code>
<code>-rw-r--r-- 1 root root 380 Jun 29 16:14 id_rsa_2048.pub</code>
<code>-rw-r--r-- 1 root root 409 Jun 29 09:46 id_rsa.pub</code>
<code>-rw-r--r-- 1 root root 976 Jun 29 09:48 known_hosts</code>
<code>将公鑰内容儲存到authorized_keys檔案中,設定檔案權限為600</code>
<code>[root@LVS-DR01 .</code><code>ssh</code><code>]</code><code># cat id_rsa_2048.pub>>authorized_keys</code>
<code>[root@LVS-DR01 .</code><code>ssh</code><code>]</code><code># chmod 600 authorized_keys</code>
8)登陸驗證
<a href="https://s4.51cto.com/wyfs02/M01/9A/5D/wKiom1lUvbCyHEqNAABj07xsrNo747.png" target="_blank"></a>
9)使用使用者的密鑰
<a href="https://s3.51cto.com/wyfs02/M01/9A/5D/wKiom1lUvbGQguh7AAA6GyNqtNA127.png" target="_blank"></a>
10)選擇身份驗證方式
<a href="https://s3.51cto.com/wyfs02/M01/9A/5D/wKioL1lUvbGSUR16AABkLMWlGWo051.png" target="_blank"></a>
11)登陸成功
<code>Connecting to 10.10.10.101:2222...</code>
<code>Connection established.</code>
<code>To escape to </code><code>local</code> <code>shell, press </code><code>'Ctrl+Alt+]'</code><code>.</code>
<code>Last login: Thu Jun 29 16:45:21 2017 from 10.10.10.1</code>
到此,所有配置均已完成
12)配置思路
a、生成密鑰對:
b、将公鑰傳輸至遠端伺服器對應的家目錄的指定檔案
c、進行測試
本文轉自 冰凍vs西瓜 51CTO部落格,原文連結:http://blog.51cto.com/molewan/1942173,如需轉載請自行聯系原作者