国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于密鑰對認(rèn)證登錄SSH

2018-11-09 01:16
網(wǎng)絡(luò)安全和信息化 2018年2期
關(guān)鍵詞:私鑰公鑰口令

對Linux服務(wù)器進(jìn)行遠(yuǎn)程管理基本上都是借助于SSH服務(wù)。SSH服務(wù)提供了兩種不同的用戶登錄認(rèn)證方式:基于口令的認(rèn)證方式、基于密鑰對的認(rèn)證方式。其中基于密鑰對的認(rèn)證方式安全性更高,而且客戶端在登錄時(shí)不需要輸入密碼,也簡化了客戶端的操作,因而在生產(chǎn)環(huán)境中更建議采用這種方式進(jìn)行SSH登錄。本文以CentOS7系統(tǒng)作為服務(wù)端,分別以Windows和Linux系統(tǒng)作為客戶端,介紹如何構(gòu)建基于密鑰對認(rèn)證的SSH登錄體系。

SSH用戶認(rèn)證

SSH服務(wù)提供兩種不同的用戶登錄認(rèn)證方式:基于口令的認(rèn)證方式、基于密鑰對的認(rèn)證方式。兩種認(rèn)證方式的工作原理都要涉及證書、加密等安全概念,對這些概念不熟悉的讀者可自行查閱相關(guān)資料。

1.基于口令的認(rèn)證方式

這種認(rèn)證方式要求用戶在登錄時(shí)要輸入用戶名和密碼,然后由服務(wù)器進(jìn)行認(rèn)證,以決定是否允許用戶登錄。用戶可以使用服務(wù)器中任意一個(gè)有系統(tǒng)登錄權(quán)限的用戶賬號(hào)進(jìn)行登錄。

2.基于密鑰對的認(rèn)證方式

這種認(rèn)證方式要求用戶提供相配對的密鑰才能通過認(rèn)證,通常都是由用戶在客戶端為自己生成一對密鑰文件(公鑰和私鑰),私鑰保存在客戶端,公鑰文件則需要上傳到SSH服務(wù)器上指定用戶的家目錄中。當(dāng)用戶登錄時(shí),服務(wù)器將結(jié)合公私鑰進(jìn)行關(guān)聯(lián)認(rèn)證,只有那些家目錄中保存有公鑰文件的用戶賬號(hào)才可以登錄。

基于口令的認(rèn)證方式雖然簡便易用,但用戶在登錄過程中所輸入的密碼不可避免地需要在網(wǎng)絡(luò)中傳輸,雖然SSH采用了加密機(jī)制,但是如果攻擊方所擁有的計(jì)算能力足夠強(qiáng)大,用戶密碼仍然存在泄露的可能性。因而對于安全性要求較高的服務(wù)器,建議采用密鑰對認(rèn)證的登錄方式。

下面分別以Windows和Linux系統(tǒng)作為客戶端,介紹如何構(gòu)建基于密鑰對認(rèn)證的SSH登錄體系。

Windows客戶端

在Windows客戶端中需要安裝Xshell或SecureCRT等SSH客戶端工具,這里以Xshell為例進(jìn)行介紹。

1.在Xshell中生成密鑰對

點(diǎn)擊Xshell的工具菜單,選擇“新建用戶密鑰生成向?qū)А?,進(jìn)行密鑰對生成操作,密鑰類型建議選擇“RSA”,密鑰長度默認(rèn)為2048位。

圖1 創(chuàng)建好的密鑰對

密鑰名稱默認(rèn)為“id_rsa_2048”,用戶可以根據(jù)情況選擇是否需要為客戶端上的私鑰設(shè)置密碼進(jìn)行保護(hù)。

接下來系統(tǒng)提示需要在SSH服務(wù)器上注冊公鑰,這里建議先將公鑰保存為文件,等隨后再上傳。

最后,創(chuàng)建完成的密鑰對如圖1所示。

2.上傳公鑰文件到服務(wù)器

下面需要將生成的公鑰文件上傳到SSH服務(wù)器,公鑰文件在服務(wù)器上的存放位置是我們準(zhǔn)備作為登錄賬號(hào)的用戶家目錄下的“.ssh”目錄,文件名為“authorized_keys”。 比 如要以root用戶的身份遠(yuǎn)程登錄服務(wù)器,那么應(yīng)將公鑰文件上傳為“/root/.ssh/authorized_keys”,如 果 要以student用戶的身份登錄服務(wù)器,則應(yīng)將公鑰文件上傳為“/home/student/.ssh/authorized_keys”。

至于如何將客戶端的文件上傳到服務(wù)器,方法有很多種,這里推薦一款名為lrzsz的軟件,通過它可以非常方便地在Windows客戶端和Linux服務(wù)器之間進(jìn)行文件傳送,前提是要求在客戶端必須使用Xshell或SecureCRT等遠(yuǎn)程登錄工具。

首先仍然采用傳統(tǒng)的基于口令的認(rèn)證方式登錄服務(wù)器,然后執(zhí)行“yum install lrzsz”命令安裝軟件(服務(wù)器中需要配置好yum源)。安裝完成后,在客戶端的Xshell中執(zhí)行rz命令,這時(shí)會(huì)打開一個(gè)Windows窗口,從中選擇要上傳的文件即可,文件默認(rèn)會(huì)被上傳到當(dāng)前工作目錄下。

以root用戶為例,假設(shè)公鑰文件“id_rsa_1024.pub”已經(jīng)被上傳到了用戶的家目錄下,下面將之復(fù)制到/root/.ssh目錄并改名為authorized_keys。

[root@Server ~]# cp id_rsa_1024.pub .ssh/authorized_keys

最后還需要對authorized_keys文件進(jìn)行權(quán)限設(shè)置:所有者要求是登錄的目標(biāo)用戶或root,同組和其他用戶對該文件不能擁有權(quán)限,因而這里將文件的權(quán)限設(shè)置為600。

3.登錄認(rèn)證

至此配置全部完成,在Xshell中打開連接的屬性設(shè)置界面,在“用戶身份認(rèn)證”中將“方法”改為“Public Key”,并正確設(shè)置“用戶名”、“用戶密鑰”、“密碼”等信息,如圖2所示。這樣客戶端只要打開該連接,就可以自動(dòng)按照相關(guān)設(shè)置進(jìn)行登錄了。

Linux客戶端

下面介紹如何在Linux客戶端(IP:192.168.80.101)通過密鑰對認(rèn)證的方式遠(yuǎn)程登錄SSH服務(wù)器(IP:192.168.80.10)。

圖2 修改連接屬性

圖3 生成密鑰對

首先仍是需要在客戶端中生成密鑰對,這里執(zhí)行“ssh-keygen“命令,并通過“-t”選項(xiàng)指定加密方式為“rsa”(如果不指定,默認(rèn)也是采用RSA加密方式)。

命令執(zhí)行后,需要指定密鑰文件的存放位置,如果直接按回車,則采用默認(rèn)值。默認(rèn)為用戶家目錄下的“.ssh”目錄,私鑰文件名為“id_rsa”,公鑰文件名為“id_rsa.pub”。然后還可以選擇是否為私鑰文件設(shè)置密碼,為了方便使用,這里一般無需設(shè)置密碼(如圖3)。

查看生成的密鑰對文件:

下面將公鑰文件上傳到SSH服務(wù)器,這里可以在客戶端直接執(zhí)行“ssh-copyid”命令,并通過“-i”選項(xiàng)指定要上傳的公鑰文件的路徑,同時(shí)還需要指定將公鑰文件上傳到服務(wù)器哪個(gè)用戶的家目錄下。這里仍是以root用戶為例,命令執(zhí)行后,服務(wù)端會(huì)將上傳來的公鑰追加保存到/root/.ssh/authorized_keys文件中。

上傳完成后,在客戶端就可以直接以root用戶的身份遠(yuǎn)程登錄SSH服務(wù)器,并且不需要輸入密碼。

也可以在不登錄的情況下直接在服務(wù)端執(zhí)行命令,同樣無需輸入密碼。

至此,以Linux系統(tǒng)為客戶端的SSH密鑰對認(rèn)證配置完成。

注意事項(xiàng)

1.更換客戶端

密鑰對認(rèn)證的登錄方式是基于客戶端的,用戶如果更換了客戶端就無法登錄服務(wù)器,這是由于只在特定的客戶端中才保存了用戶的私鑰。

如果用戶還需要在別的客戶端上登錄SSH服務(wù)器,有兩種方案可以選擇:

一是在相應(yīng)的客戶端中先生成密鑰對,然后再將公鑰文件中的內(nèi)容追加保存到登錄用戶家目錄下的.ssh/authorized_keys文 件 中。這種方案適合客戶端比較固定的情況。

二是將私鑰存儲(chǔ)到移動(dòng)存儲(chǔ)設(shè)備中,然后需要在哪臺(tái)客戶端登錄時(shí),可以先將私鑰文件復(fù)制到相應(yīng)的客戶端中,這樣就無需再生成密鑰對了。這種方案適合要經(jīng)常更換客戶端的情況。

2.基于用戶

密鑰對認(rèn)證是基于用戶的,在SSH服務(wù)端,只有家目錄下存在“.ssh/authorized_keys”文件的用戶才可以通過密鑰對認(rèn)證的方式登錄。比如我們之前都是將公鑰文件上傳了到root用戶的家目錄中,那么在客戶端只有以root用戶的身份登錄服務(wù)器時(shí),才會(huì)采用密鑰對認(rèn)證。如果以其他用戶的身份登錄,則都是采用口令認(rèn)證。

3.相關(guān)配置參數(shù)

在SSH服務(wù)的配置文件“/etc/ssh/sshd_config”中,與用戶登錄認(rèn)證的相關(guān)配置參數(shù)主要有以下幾項(xiàng):

(1)Password Authentication,是否啟用基于口令的認(rèn)證方式,默認(rèn)值為yes。

(2)Pubkey Authentication,是否啟用基于密鑰對的認(rèn)證方式,默認(rèn)值為yes。

(3)Authorized KeysFile,指定保存用戶公鑰的數(shù)據(jù)文件路徑,默認(rèn)為“.ssh/authorized_keys”。

兩種認(rèn)證方式默認(rèn)都是啟用的,SSH服務(wù)器會(huì)自動(dòng)根據(jù)用戶家目錄下的.ssh目錄中是否存在authorized_keys文件來決定采用哪種認(rèn)證方式。如果不存在該文件,就采用口令認(rèn)證;如果存在該文件,就優(yōu)先采用密鑰對認(rèn)證,認(rèn)證失敗則自動(dòng)轉(zhuǎn)為口令認(rèn)證。

比如,在另外一臺(tái)沒有私鑰文件的Linux客戶端上以root用戶的身份登錄SSH服務(wù)器,會(huì)先嘗試進(jìn)行密鑰對認(rèn)證,失敗之后再轉(zhuǎn)為口令認(rèn)證。

因而,我們可以根據(jù)實(shí)際情況對配置參數(shù)進(jìn)行設(shè)置,比如只允許使用基于密鑰對的認(rèn)證方式,那么就可以將PasswordAuthentication配置參數(shù)設(shè)置為no。

猜你喜歡
私鑰公鑰口令
清掃機(jī)器人避障系統(tǒng)區(qū)塊鏈私鑰分片存儲(chǔ)方法
比特幣的安全性到底有多高
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
高矮胖瘦
口 令
一種基于混沌的公鑰加密方案
神奇的公鑰密碼
一種基于虛擬私鑰的OpenSSL與CSP交互方案
好玩的“反口令”游戲
P2X7 receptor antagonism in amyotrophic lateral sclerosis
元谋县| 将乐县| 沾益县| 夹江县| 建阳市| 西宁市| 梁河县| 淳安县| 彭山县| 日照市| 扎兰屯市| 和静县| 康平县| 青岛市| 民勤县| 双城市| 南汇区| 民县| 邹平县| 长葛市| 淮北市| 光泽县| 伊春市| 巍山| 淳化县| 色达县| 中牟县| 汉沽区| 榕江县| 诸暨市| 长白| 长泰县| 定结县| 介休市| 茶陵县| 革吉县| 灵丘县| 方城县| 炉霍县| 定边县| 秀山|