天天看點

jenkins配置ssh免密碼登陸

jenkins建構時需要連接配接遠端伺服器并且執行腳本,這時就需要配置ssh免密鑰登入。jenkins建構時都是以jenkins使用者進行操作,是以要以jeknins使用者來配置免密鑰登入。本教程以使用者名qiaofeng為例說明。 A:192.168.10.78, B:192.168.10.76,需求:A登入B時免密鑰。

ssh-keygen -t rsa 産生公鑰與私鑰對

ssh-copy-id 将本機的公鑰複制到遠端機器的authorized_keys檔案中

    su - qiaofeng

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

<code>[qiaofeng@jenkins ~]$ ssh</code><code>-</code><code>keygen </code><code>-</code><code>t rsa</code>

<code>Generating public</code><code>/</code><code>private rsa key pair.</code>

<code>Enter </code><code>file</code> <code>in</code> <code>which to save the key (</code><code>/</code><code>home</code><code>/</code><code>qiaofeng</code><code>/</code><code>.ssh</code><code>/</code><code>id_rsa):</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>/</code><code>home</code><code>/</code><code>qiaofeng</code><code>/</code><code>.ssh</code><code>/</code><code>id_rsa.</code>

<code>Your public key has been saved </code><code>in</code> <code>/</code><code>home</code><code>/</code><code>qiaofeng</code><code>/</code><code>.ssh</code><code>/</code><code>id_rsa.pub.</code>

<code>The key fingerprint </code><code>is</code><code>:</code>

<code>56</code><code>:</code><code>3e</code><code>:</code><code>89</code><code>:fc:</code><code>6f</code><code>:</code><code>8c</code><code>:</code><code>4d</code><code>:</code><code>06</code><code>:ee:</code><code>5f</code><code>:b9:</code><code>6b</code><code>:a3:</code><code>6a</code><code>:d9:e2 qiaofeng@jenkins</code>

<code>The key's randomart image </code><code>is</code><code>:</code>

<code>+</code><code>-</code><code>-</code><code>[ RSA </code><code>2048</code><code>]</code><code>-</code><code>-</code><code>-</code><code>-</code><code>+</code>

<code>| |</code>

<code>| . |</code>

<code>| . </code><code>+</code><code>.. |</code>

<code>| S.</code><code>+</code><code>. |</code>

<code>| . ...o . |</code>

<code>| ..O o |</code>

<code>| </code><code>*</code><code>.</code><code>=</code><code>.o. |</code>

<code>| oE</code><code>=</code><code>+</code><code>ooo |</code>

<code>+</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>+</code>

<code>[qiaofeng@jenkins ~]$ ssh</code><code>-</code><code>copy</code><code>-</code><code>id</code> <code>-</code><code>i ~</code><code>/</code><code>.ssh</code><code>/</code><code>id_rsa.pub </code><code>"-p 22223 [email protected]"</code>

<code>root@</code><code>192.168</code><code>.</code><code>10.76</code><code>'s password:</code>

<code>Now </code><code>try</code> <code>logging into the machine, with </code><code>"ssh '-p 22223 [email protected]'"</code><code>, </code><code>and</code> <code>check </code><code>in</code><code>:</code>

<code>.ssh</code><code>/</code><code>authorized_keys</code>

<code>to make sure we haven</code><code>'t added extra keys that you weren'</code><code>t expecting.</code>

ssh-copy-id 将key寫到遠端機器的 ~/ .ssh/authorized_key.檔案中。

如果你遠端伺服器SSH端口沒有修改過,可以不用加-p 22223,要特别注意雙引号。

當然你複制檔案到遠端伺服器也可以用SCP指令。

[qiaofeng@jenkins ~]$ ssh -p 22223 [email protected]

Last login: Mon Apr 17 15:10:04 2017 from 192.168.10.78

[root@hundsun ~]#

1. 現在實作了需求,如果你想B通路A時也免密鑰,隻要在B上按上面的步驟來。

2. 如果添加指紋的時候提示添加失敗,是因為你以前添加過了這個ip的指紋。

解決辦法:将.ssh目錄的known_hosts檔案删除掉。也可以打開這個檔案把對應ip的那條記錄删除。

3. 注意檔案權限的問題

A

[qiaofeng@jenkins ~]$ ll .ssh/

-rw-------. 1 qiaofeng qiaofeng 1671 4月 19 05:10 id_rsa

-rw-r--r--. 1 qiaofeng qiaofeng 398 4月 19 05:10 id_rsa.pub

-rw-r--r--. 1 qiaofeng qiaofeng 417 4月 19 05:08 known_hosts

B

-rw------- 1 root root 1217 Apr 21 10:46 /root/.ssh/authorized_keys

本文轉自pizibaidu 51CTO部落格,原文連結:http://blog.51cto.com/pizibaidu/1918027,如需轉載請自行聯系原作者

繼續閱讀