爛泥:學習ssh之ssh密鑰隨身攜帶

本文首發於爛泥行天下

在上一篇文章《爛泥:學習ssh之ssh無密碼登陸》中,我們講解了如何使用ssh密鑰,免密碼登陸服務器。

這篇文章我們再來講解,如何把已經生成的密鑰隨身攜帶。

有關如何生成ssh密鑰的詳細步驟,可以查看上一篇文章《爛泥:學習ssh之ssh無密碼登陸》。

一、生成密鑰

現在我們通過xshell生成密鑰,注意:本章節,我只進行截圖,不做進一步的文章說明。

如下:

clip_p_w_picpath001

clip_p_w_picpath002

clip_p_w_picpath003

clip_p_w_picpath004

clip_p_w_picpath005

clip_p_w_picpath006

clip_p_w_picpath007

我們現在有了公鑰和私鑰:id_dsa_150518.pub、id_dsa_150518,把公鑰id_dsa_150518.pub上傳到需要連接的服務器192.168.1.9ilanni用戶的對應目錄下。如下:

ifconfig eth0|grep 'inet addr'|awk '{print $2}'|cut -d: -f2

cat .ssh/authorized_keys

clip_p_w_picpath008

現在我們就可以把這個密鑰id_dsa_150518隨身攜帶,無論在什麼地方都可以連接192.168.1.9服務器。

注意:我們現在所說的密鑰,其實就是上面xshell生成的ssh私鑰。

同時還要注意私鑰id_dsa_150518,我們可以攜帶該私鑰文件,也可以把該私鑰的內容複製到其他文件中也行。如下:

clip_p_w_picpath009

注意:ssh私鑰的內容在複製,不能缺少任何一個字符。

二、windows下連接ssh服務器

假如,我們現在到一個新的地方,使用的OS是windows,而ssh的私鑰就在我們身邊的話,我們就可以通過該私鑰連接ssh服務器了。

在此,我們還是以使用xshell來連接ssh服務器爲例,進行講解。當然你也可以使用其他的ssh客戶端軟件,進行連接。

使用如下命令連接ssh服務器,如下:

ssh [email protected]

此時xshell會彈出要你輸入密碼的界面。如下:

clip_p_w_picpath010

我們不選擇Password選項,要選擇Public Key選項。然後選擇“瀏覽”--“文件”,如下:

clip_p_w_picpath011

找到我們攜帶的ssh的私鑰文件id_dsa_150518,如下:

clip_p_w_picpath012

選擇私鑰文件,如下:

clip_p_w_picpath013

clip_p_w_picpath014

通過上圖,我們可以很明顯的看出在連接192.168.1.9服務器時,xshell確實沒有提示我們要輸入密碼。

注意:如果你的私鑰文件不是隨身攜帶而是記住私鑰內容的話,你也可以建立一個文件,比如ilanni.txt,把私鑰的內容複製到ilanni.txt進去保存。

在連接ssh服務器選擇密鑰文件時,只需選擇ilanni.txt文件即可。

三、linux下連接ssh服務器

在第二章節中,我們講解了如何在windows下通過ssh的私鑰連接ssh服務器。在這章節,我們再來講解如何在linux下,通過ssh私鑰連接ssh服務器。

先把ssh的私鑰上傳到linux主機上或者在linux主機上新建一任意文件,把私鑰的內容複製到該文件中,然後使用如下命令進行連接:

ssh -i id_dsa_150518 [email protected]

clip_p_w_picpath015

通過上圖,我們可以很明顯的看出,連接ssh服務器192.168.1.9還是需要輸入用戶密碼的。

是我們的操作不對還是怎麼回事呢?

如果你仔細看上述的提示的話,你會發現這個是因爲ssh私鑰用戶權限的設置太大,不安全造成的。

ssh爲了安全起見,對私鑰文件的權限一般要設置爲600,即用戶自己對該私鑰文件具有讀寫權限,其所在的用戶組及其他用戶組對私鑰文件不具有任何權限。

我們現在只需要把ssh私鑰文件的權限設置爲600即可,如下:

chmod 600 id_dsa_150518

clip_p_w_picpath016

再次使用ssh -i id_dsa_150518 [email protected]命令進行連接,如下:

clip_p_w_picpath017

通過上圖,我們可以很明顯的看出,現在我們已經進入到192.168.1.9這臺服務器中,而且是沒有輸入密碼的。

注意:上述命令中的-i參數用於指定ssh私鑰文件。

有關ssh命令的相關參數使用方法,可以參考ssh的幫助。如下:

ssh --help

clip_p_w_picpath018

到此有關ssh密鑰隨身攜帶的全部內容就結束了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章