1 簡介
ssh登陸提供兩種認證方式:口令(密碼)認證方式和密鑰認證方式。其中口令(密碼)認證方式是咱們最經常使用的一種,這裏介紹密鑰認證方式登陸到linux/unix的方法。mysql
使用密鑰登陸分爲3步:linux
1、生成密鑰(公鑰與私鑰);算法
2、放置公鑰(Public Key)到服務器~/.ssh/authorized_key文件中;sql
3、配置ssh客戶端使用密鑰登陸。shell
1.1 生成密鑰(公鑰與私鑰)安全
打開Xshell,在菜單欄點擊「工具」,在彈出的菜單中選擇「(新建用戶密鑰生成嚮導)」,以下圖:服務器
彈出「新建用戶祕鑰生成嚮導」對話框,在「祕鑰類型」項選擇「RSA」公鑰加密算法,「祕鑰長度」選擇任意密鑰長度,長度越長,安全性越高,以下圖:ssh
點擊「下一步」,等待密鑰生成工具
繼續下一步,在「祕鑰名稱」中輸入Key的文件名稱,我這裏爲「id_rsa_2048(2)」;在「加密密碼」處輸入一個密碼用於加密私鑰,並再次輸入密碼確認,以下圖:ui
點擊「下一步」,密鑰生成完畢(Public key Format選擇SSH2-OpenSSH格式),這裏顯示的是公鑰,咱們能夠複製公鑰而後再保存,也能夠直接保存公鑰到文件,以下圖。
點擊「保存爲文件」按鈕,將公鑰(Public key)保存到磁盤,文件名爲「laomao」,備用。最後點擊「完成」便可。
公鑰保存完後,接下來爲私鑰文件。點擊「導出」,導出爲私鑰文件,用來打開剛纔的公鑰。請妥善保管。
點擊「保存」後,會彈出一個框,輸入剛纔設置的密碼123456.在點擊「肯定」便可。
1.2 放置公鑰(Public Key)到服務器~/.ssh/authorized_key文件中
上面的步驟只是生成了公鑰和私鑰的過程,接下來就是要將剛纔生成的公鑰放到要管理的服務器上。
使用到Xshell登陸到服務器,進入到「/root/.ssh/」目錄,運行rz命令(若是沒有rz命令,運行yum install lrzsz安裝),將key.pub發送到服務器,
而後運行以下命令,將公鑰(Public Key)導入到「authorized_keys」文件:
[root@mysql-db01 ~]# cd .ssh/ [root@mysql-db01 .ssh]# ls authorized_keys known_hosts [root@mysql-db01 .ssh]# rz -E rz waiting to receive. [root@mysql-db01 .ssh]# ls authorized_keys known_hosts laomao.pub [root@mysql-db01 .ssh]# cp authorized_keys authorized_keys.bak [root@mysql-db01 .ssh]# cat laomao.pub >authorized_keys [root@mysql-db01 .ssh]# cat authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAYEAybjy7/DVWxXm4lcXFA+x0bgBMi+aQ6zIzyBfFSKJEMhAhs/MxbKHOl1c1GwzPSAKLAHoR8UZSQO7QQcYKqeb8cNWR8f9NGNBCJs+e6Fpl7BvNPKfNrixnq+gT5VIz77u2RXU74JBOuwsgaEHtCU5DQhIfvAoUe64qCBuY5J6JHJV3bBlMXnqxrJQO4+4hH0dHyVzc5wmP0ngnah/6za64hk3Nd1tdER7na701geZTR5N4OqeCep+TtPcbT4RKQ1qJ5L67ET5x3uYGEKZDK4tOL2kluePd2XHRQg1qcXl87f7HkZiLIicgLU8/rB+LyUOJzywTVHvmTWTPDS1u6RmAQSLh/4VU0vEks7bIj7xTCaKjuO6UgHvxPZL1BQWj8tY6fzerdndVM5bORkAHgZ67ZJK6X+Zui4fHTkxSQ/gvzOgBylhSL3Tyc1PRlVO8L7bl9r36x7hlACHr0BrqpenrkxdMmrR4i4RoOrYaijXoPhvg5uWH+rSeUbZDDEw7S/F[root@mysql-db01 .ssh]# [root@m01 .ssh]# chmod 600 authorized_keys [root@m01 .ssh]#
1.3 配置ssh客戶端使用密鑰登陸
打開Xshell,點擊「新建」按鈕,彈出「New Session Properties」對話框,在「鏈接」欄目中,輸入剛剛配置好公鑰(Public Key)的IP地址和端口,以下圖所示:
在用戶身份認證的窗口輸入認證方法爲「public key」
從用戶祕鑰出選擇剛生成的私鑰文件,並在下面的密碼框中輸入剛纔設置的密碼123456(能夠和系統登錄密碼不同)
如今就能夠使用公鑰登錄了,瀏覽選擇用戶祕鑰位置,而後輸入上面剛剛設置的密碼「123456」,點擊「肯定」,便可登錄。
通過了上面的ssh祕鑰配置後,咱們就能夠經過在Publish over SSH插件中使用祕鑰來管理服務器了。注意,服務器上存放的是上面生成的公鑰,Jenkins上存放的是生成的私鑰文件。