Windows下用sftp打造安全傳輸_第1頁
Windows下用sftp打造安全傳輸_第2頁
Windows下用sftp打造安全傳輸_第3頁
Windows下用sftp打造安全傳輸_第4頁
Windows下用sftp打造安全傳輸_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Windows下用sftp打造安全傳輸眾所周知在Windows系統(tǒng)和Linux類系統(tǒng)的最大區(qū)別就在于他的非開源性,因此在Windows下我們傳輸文件,共享資源主要通過FTP協(xié)議來實現(xiàn),和以前的TFTP協(xié)議相比FTP提供了必要的安全保證措施,然而對于一些要求網(wǎng)絡(luò)安全級別比較高,需要嚴格防范傳輸數(shù)據(jù)被監(jiān)聽工具竊取的情況來說,F(xiàn)TP協(xié)議就無法勝任了,這時我們應(yīng)該尋找更加安全的傳輸協(xié)議來保證服務(wù)器的安全。今天筆者就為各位IT168的讀者介紹在Windows下如何通過sftp打造安全傳輸。一、什么是sftp?

一般來說兩臺機器間的文件傳輸,除了常用的ftp以外,還可以通過scp/sftp協(xié)議(就是本文介紹的sftp)進行。下面我們就來看看sftp協(xié)議與ftp協(xié)議之間的差別。

(1)和ftp不同的是sftp/scp傳輸協(xié)議默認是采用加密方式來傳輸數(shù)據(jù)的,scp/sftp確保傳輸?shù)囊磺袛?shù)據(jù)都是加密的。而ftp一般來說允許明文傳輸,當然現(xiàn)在也有帶SSL的加密ftp,有些服務(wù)器軟件也可以設(shè)置成“只允許加密連接”,但是畢竟不是默認設(shè)置需要我們手工調(diào)整,而且很多用戶都會忽略這個設(shè)置。

(2)普通ftp僅使用端口21作為命令傳輸。由服務(wù)器和客戶端協(xié)商另外一個隨機端口來進行數(shù)據(jù)傳送。在pasv模式下,服務(wù)器端需要偵聽另一個口。假如服務(wù)器在路由器或者防火墻后面,端口映射會比較麻煩,因為無法提前知道數(shù)據(jù)端口編號,無法映射。(現(xiàn)在的ftp服務(wù)器大都支持限制數(shù)據(jù)端口隨機取值范圍,一定程度上解決這個問題,但仍然要映射21號以及一個數(shù)據(jù)端口范圍,還有些服務(wù)器通過UPnP協(xié)議與路由器協(xié)商動態(tài)映射,但比較少見)

(3)當你的網(wǎng)絡(luò)中還有一些unix系統(tǒng)的機器時,在它們上面自帶了scp等客戶端,不用再安裝其它軟件來實現(xiàn)傳輸目的。

(4)scp/sftp屬于開源協(xié)議,我們可以免費使用不像FTP那樣使用上存在安全或版權(quán)問題。所有scp/sftp傳輸軟件(服務(wù)器端和客戶端)均免費并開源,方便我們開發(fā)各種擴展插件和應(yīng)用組件。

小提示:當然在提供安全傳輸?shù)那疤嵯聅ftp還是存在一些不足的,例如他的帳號訪問權(quán)限是嚴格遵照系統(tǒng)用戶實現(xiàn)的,只有將該帳戶添加為操作系統(tǒng)某用戶才能夠保證其可以正常登錄sftp服務(wù)器。二、下載所需程序:

本文介紹的所有工具都不是誕生于windows系統(tǒng)的,他們是從unix移植過來的,配置方式仍然使用了conf文件的方式,幾乎沒有圖形界面。而且這些配置文件一般用unix換行符,所以建議各位IT168讀者使用ultraedit等工具而不是notepad來編輯,一是確保能正常顯示,二是確保保存時不會破壞它的格式導致服務(wù)程序無法讀取。

服務(wù)器端我們使用openssh,它自帶了cygwin環(huán)境以及scp/sftp的服務(wù)器(sftp是ssh的一個“子服務(wù)”,在ssh通道中使用某個命令在需要時激活)。

打開瀏覽器訪問/project/showfiles.php?group_id=103886&package_id=111688&release_id=252007在該頁面中我們下載SSHWindows-Installer,3.8p1-120040709Build這個程序即可。(如圖1)

而客戶端我們則采用的是winscp軟件,他是一款圖形化界面的軟件,界面操作類似于ftp軟件,很好上手。我們到

/project/showfiles.php?group_id=85589這個地址下載WinSCP3.8.2。(如圖2)

三、配置sftp服務(wù)端:

sftp服務(wù)端的安裝與配置還是比較簡單的,通過幾條命令就可以開啟sftp服務(wù)。

第一步:將之前下載的sftp服務(wù)端解壓縮,然后直接運行主程序。點“NEXT”按鈕進行下面的操作。(如圖3)

第二步:在許可協(xié)議窗口處填寫“同意”并點“下一步”按鈕繼續(xù)。(如圖4)

第三步:在接下來的配置窗口中選擇要安裝的組件,從界面中我們可以看到包括client(客戶端)與server(服務(wù)器端),實際上我們只需要服務(wù)器端,而客戶端我們使用之前下載的WinSCP3.8.2即可。選擇相應(yīng)的服務(wù)器端組件后點“下一步”按鈕繼續(xù)。(如圖5)

第四步:選擇程序安裝的路徑,默認是c:\programfiles\openssh,建議大家不修改這個缺省地址。(如圖6)

第五步:默認情況下openssh將添加一個應(yīng)用程序到開始程序中,名字叫做opensshforwindows。(如圖7)

第六步:安裝的最后openssh會自動建立ssh安全加密key,保證SSH傳輸過程中的安全可靠。(如圖8)

第七步:完成所有安裝工作,點“完成”按鈕回到桌面。(如圖9)

第八步:接下來就要啟動該服務(wù)了,我們通過“開始->運行->輸入CMD后回車”進入到命令提示窗口,然后通過cd命令定位到c:\programfiles\openssh\bin目錄。(如圖10)

第九步:依次執(zhí)行mkgroup-l>>..\etc\groupmkpasswd-l>>..\etc\passwd命令,這樣你目前windows本地帳戶中的用戶就都可以登錄該sftp服務(wù)器了,他們自對文件目錄的訪問權(quán)限和NTFS權(quán)限一致。此步驟相當于FTP中的建立訪問帳號。(如圖11)

第十步:添加完各個訪問帳戶后我們可以到c:\programfiles\openssh\etc目錄中來查看group和passwd兩個文件的內(nèi)容,當然這些內(nèi)容是經(jīng)過了加密的。(如圖12)

這兩個文件存儲的都是帳戶相關(guān)信息,正如前面所說他們是從unix移植過來的,配置方式仍然使用了conf文件的方式,幾乎沒有圖形界面。而且這些配置文件一般用unix換行符,建議各位IT168讀者使用ultraedit等工具而不是notepad來編輯,一是確保能正常顯示,二是確保保存時不會破壞它的格式導致服務(wù)程序無法讀取。(如圖13)

第十一步:最后在剛才進入的c:\programfiles\openssh\bin目錄下執(zhí)行netstartopensshd命令,這將啟動opensshd服務(wù),我們就可以開始訪問了。(如圖14)

小提示:一般sftp用默認的22端口發(fā)布服務(wù)就行。如果你有特殊的原因要把這個端口改掉,請編輯C:\ProgramFiles\OpenSSH\etc\sshd_config文件,把這一行改成你要的端口,比如8029,設(shè)置完畢后需要重啟openssh服務(wù)(任何配置改動都需要重啟服務(wù))。

至此服務(wù)器端的配置完成,下面我們來介紹如何在客戶端上訪問建立的sftp服務(wù)。

小提示:如果以后要繼續(xù)添加訪問帳戶的話,首先在windows中加上這個用戶,例如我們以名為softer的帳戶為例,設(shè)置密碼,確保不要選中“下次登錄必須改密碼”。這個用戶的權(quán)限和用戶組由你來決定。然后進入c:\programfiles\openssh\bin目錄,執(zhí)行mkpassword-l-usofter>>..\etc\passwd命令即可將剛才添加的softer帳戶添加到訪問權(quán)限中。說白了指令加-u是加單獨一個帳戶,沒有-u參數(shù)的話將把當前系統(tǒng)中所有帳戶添加到容許訪問sftp服務(wù)器的帳戶列表中。四、配置sftp客戶端:

配置sftp客戶端就更加簡單了,由于之前我們已經(jīng)下載了WinSCP3.8.2,所以直接運行該程序即可出現(xiàn)登錄配置界面。(如圖15)

我們根據(jù)實際填寫sftp服務(wù)器的地址和訪問帳戶信息,協(xié)議方面保持默認的sftp(allowscpfallback)即可,完成設(shè)置后點login登錄按鈕后會出現(xiàn)“使用提示”信息,不用理會繼續(xù)即可。(如圖16)

登錄進入服務(wù)器后我們會看到界面顯示和我們之前熟悉的ftp登錄工具一樣,特別是和flashfxp登錄FTP服務(wù)器類似。右邊是我們看到的sftp服務(wù)器發(fā)布的目錄。(如圖17)

當然這個默認發(fā)布目錄可能不是我們希望看到的,如果想要訪問你的C盤,我們可以先把焦點放在服務(wù)器那半邊窗口,然后按ctrl+o,輸入/cygdrive/c并回車,這樣就可以把這個目錄加到winscp的書簽或者作為登錄時的默認目錄。(如圖18)

五、總結(jié):

當我們要關(guān)閉sftp服務(wù)時只需要在服務(wù)器端對應(yīng)目錄執(zhí)行netstopopensshd指令即可,這樣對應(yīng)服務(wù)將自動關(guān)閉。(如圖19)另外如果在客戶端上無法訪問sftp服務(wù)器的話,很可能是因為XP系統(tǒng)自帶防火墻搗亂,我們關(guān)閉防火墻或者手動在windows防火墻配置中允許c:\ProgramFiles\OpenSSH\usr\sbin\sshd.exe程序的執(zhí)行和對網(wǎng)絡(luò)的訪問即可。文摘:SFTP限制用戶的行為!

allen|29八月,200511:20

本文是用SFTP取代FTP的一個很好的解決方案!

軟件的獲得和安裝

軟件的獲得可從下載OpenSSH,當前最新版本為3.6.1,或者從/下載針對Linux的非商業(yè)版本,當前最新版本為3.2,具體地址為:

SSH服務(wù)器地址/support/downl...non-commercial.html

SSH客戶端地址/support/downl...non-commercial.html(這是一個ForWindows的版本)。

不管是OpenSSh還是SSHCommunicationsSecurity公司的SSH版本,在使用功能上基本一樣,只是前者完全免費,而后者使用時要注意許可協(xié)議。從使用角度上可考慮,筆者認為后者更好用一些。本文著重介紹后者的安裝和使用。

從SSHCommunicationsSecurity公司下載的SSH服務(wù)器是源代碼方式,文件名為ssh-3.2.3.tar.gz,必須對其進行編譯和安裝之后才能夠使用。

我們假設(shè)軟件的下載目錄為root用戶的宿主目錄,即“/root”目錄。解壓縮完成后會生成一個“ssh-3.2.3”的源代碼目錄,然后切換到源代碼代碼目錄,進行軟件安裝前的配置,編譯和安裝。

安裝成功后,在“/etc/”目錄下會增加一個“ssh2”目錄,這個目錄是用來存放SSH服務(wù)器的所有配置文件;在“/usr/local/”目錄下會生成“ssh3.2.3”子目錄,它是SSH程序文件和其它文件的存放位置。

基本配置和應(yīng)用

默認安裝,每次重新啟動系統(tǒng)后都要重復上述操作才能啟動SSH服務(wù)器。為了保證SSH服務(wù)器每次開機時自動啟動,還要在“/etc/rc.d/rc.local”文件(此文件類似于DOS下的autoexec.bat文件令)的最后加入以下內(nèi)容:

#startssh3.2

/usr/local/ssh2/sbin/sshd&

其中第一行為注釋內(nèi)容,第二行為啟動SSH服務(wù)器并作為后臺守護進程運行。

接下來要做的是配置SSH服務(wù)器,所有的配置都是通過修改“/etc/ssh2/sshd2_config”文件實現(xiàn)的。文件的默認配置已經(jīng)能滿足一般的要求。下面介紹幾種比較常見的應(yīng)用:

使超級用戶root能夠直接登錄服務(wù)器

使用Telnet時root用戶默認情況下不能直接從遠程登錄系統(tǒng),一般要先以普通用戶登錄,然后,使用su切換到root身份,這也是出于安全性的考慮。由于SSH使用了加密方式傳輸數(shù)據(jù),所以可以放心地直接使用root登錄服務(wù)器,那么我們需要將sshd2_config文件中的

#PermitRootLoginyes

取消注釋,然后,重新啟動SSH服務(wù)器,即可通過SSH以root身份登錄Linux服務(wù)器。當然,如果您要禁止超級用戶登錄的話,可將“yes”改為“no”即可。

允許或禁止某些用戶或組用戶使用SSH登錄

要實現(xiàn)禁止用戶或組使用SSH登錄服務(wù)器,只需要修改sshd2_config文件中的以下幾行內(nèi)容:

#AllowUserssj.*,s[[:digit:]]*,s(jl|amza)

#DenyUsersskuuppa,warezdude,31373

#DenyUsersdon@

#AllowGroupsstaff,users

#DenyGroupsguest,anonymou

可以根據(jù)自己的實際需要,取消注釋符“#”,加入實際的用戶名或者組名,然后重新啟動SSH服務(wù)器即可禁止(或允許)某些用戶或者組使用SSH,具體操作這里不再詳述。

使用SFTP代替FTP傳輸文件

FTP(文件傳輸協(xié)議)是一種使用非常廣泛的在網(wǎng)絡(luò)中傳輸文件的方式,但是,它也同樣存在被網(wǎng)絡(luò)竊聽的危險,因為它也是以明文傳送用戶認證信息。其實在SSH軟件包中,已經(jīng)包含了一個叫作SFTP(SecureFTP)的安全文件傳輸子系統(tǒng),SFTP本身沒有單獨的守護進程,它必須使用sshd守護進程(端口號默認是22)來完成相應(yīng)的連接操作,所以從某種意義上來說,SFTP并不像一個服務(wù)器程序,而更像是一個客戶端程序。SFTP同樣是使用加密傳輸認證信息和傳輸?shù)臄?shù)據(jù),所以,使用SFTP是非常安全的。但是,由于這種傳輸方式使用了加密/解密技術(shù),所以傳輸效率比普通的FTP要低得多,如果您對網(wǎng)絡(luò)安全性要求更高時,可以使用SFTP代替FTP。若要開啟SFTP功能可以修改sshd2_config文件的下列內(nèi)容:

#subsystem-sftpsftp-server

去掉行首的“#”,然后重新啟動SSH服務(wù)器,這樣在進行SSH連接時就可以同時使用SFTP傳輸文件。

關(guān)于客戶端設(shè)置

以上是對服務(wù)器的設(shè)置,其實在SSH服務(wù)器中已經(jīng)包含了一些客戶端工具(如SSH,SFTP工具)。但是,更多的客戶端用戶使用Windows系統(tǒng),下面就對Windows上的客戶端系統(tǒng)設(shè)置加以說明。

首先從上文給出的網(wǎng)址下載“SSHSecureShellClient-3.2.3.exe”文件并安裝。安裝完成后,在桌面上會產(chǎn)成兩個快捷方式,一個是“SSHSecureShellClient”,用于遠程管理,另一個是“SSHSecureFileTransferClient”,用于和服務(wù)器進行文件傳輸。在工具欄中點擊“quickconnnect”,輸入正確的主機名和用戶名,然后在彈出的對話框中輸入密碼完成登錄,即可開始執(zhí)行命令或者傳輸文件。在使用SFTP時,默認只能顯示用戶的宿主目錄的內(nèi)容和非隱藏文件。但是,有時候您可能還要查看其它目錄或者隱藏文件,這時只需要在菜單“eidt->setting->filetransfer”的選項中選中“showrootdirectory”和“showhiddenfile”兩個選項即可。

使普通用戶僅使用SFTP而沒有使用Shell的權(quán)限

默認情況下管理員給系統(tǒng)添加的賬號將同時具有SFTP和SSH的權(quán)限。讓普通用戶使用shell執(zhí)行命令也是有很大的安全隱患的,如果能夠禁止用戶使用shell執(zhí)行命令而僅使用SFTP傳輸文件,就能消除這種安全隱患,完全實現(xiàn)FTP的功能,

正如上文所述,SFTP沒有單獨的守護進程,只能借助于sshd守護進程,所以我們?nèi)匀恍枰褂肧SH服務(wù)器,要保證sshd守護進程處于運行狀態(tài)。具體實現(xiàn)方法如下:

首先,在編譯安裝時,編譯中一定要有“--enable-static”選項。安裝成功后,在安裝目錄下的bin目錄中執(zhí)行下面的命令:

[root@localhostbin]#ls-lssh-dummy-shell*sftp-server2*

將看到下列輸出內(nèi)容:

-rwxr-xr-x1rootroot1350417Apr2816:30sftp-server2

-rwxr-xr-x1rootroot3566890Apr2816:30sftp-server2.static

-rwxr-xr-x1rootroot72388Apr2816:30ssh-dummy-shell

-rwxr-xr-x1rootroot1813412Apr2816:30ssh-dummy-shell.static

其中帶“static”后綴名,且比較大的兩個文件就是加上“--enable-static”選項后生成的,后面我們將用到這里兩個文件。

下面以添加普通賬號test為例講述具體操作步驟。

1.在“/home”目錄(或者將要存放普通用戶宿主目錄的目錄)下創(chuàng)建“bin”子目錄,并將兩個static文件復制到此目錄下(復制后改名去掉static后綴),執(zhí)行如下命令:

[root@localhostbin]#cd/usr/local/ssh3.2/bin

[root@localhostbin]#cpssh-dummy-shell.static/home/bin/ssh-dummy-shell

[root@localhostbin]#cpsftp-server2.static/home/bin/sftp-server

[root@localhostbin]#chown-Rroot.root/home/bin

[root@localhostbin]#chmod-R755/home/bin

2.添加一個組,使以后所有禁止使用shell的用戶都屬于這個組,這樣便于管理更多的用戶:

[root@localhostbin]#groupaddtemplate

3.在添加系統(tǒng)賬號時使用如下命令:

[root@localhostroot]#useradd-s/bin/ssh-dummy-shell-gtemplatetest

[root@localhostroot]#passwdtest

[root@localhostroot]#mkdir/home/test/bin

[root@localhostroot]#cd/home/test/bin

[root@localhostbin]#ln/home/bin/ssh-dummy-shellssh-d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論