天天看點

windows 上用xshell使用 ssh自動登入linux

說明:今天來了一個小夥伴,因為業務需要,要登入一台測試系統,問我密碼是多少,我說我配置的密鑰登入的,估計他不太熟悉,是以我簡單的示範了一下配置過程給他看,順便也記錄了下整個配置過程。

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 &gt;&gt;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&gt;&gt;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,如需轉載請自行聯系原作者

繼續閱讀