SFTP是SSH File Transfer Protocol的縮寫,安全文件傳送協(xié)議。SFTP與FTP有著幾乎一樣的語法和功能。SFTP為SSH的其中一部分,是一種傳輸檔案至服務(wù)器的安全方式。其實在SSH軟件包中,已經(jīng)包含了一個叫作SFTP的安全文件信息傳輸子系統(tǒng),SFTP本身沒有單獨的守護進(jìn)程,它必須使用sshd守護進(jìn)程(端口號默認(rèn)是22)來完成相應(yīng)的連接和答復(fù)操作。
- 鏈接方式:FTP使用TCP端口21上的控制連接建立連接。而,SFTP是在客戶端和服務(wù)器之間通過SSH協(xié)議(TCP端口22)建立的安全連接來傳輸文件。
- 安全性:SFTP使用加密傳輸認(rèn)證信息和傳輸?shù)臄?shù)據(jù),所以使用SFTP相對于FTP是非常安全。
- 效率:SFTP這種傳輸方式使用了加密解密技術(shù),所以傳輸效率比普通的FTP要低得多。
1,搭建環(huán)境
1)A端:在內(nèi)網(wǎng)搭建SFTP服務(wù)器;內(nèi)網(wǎng)環(huán)境:ubuntu 16.04/18.04
2)B端:在公網(wǎng)服務(wù)器上建立內(nèi)網(wǎng)服務(wù)器的代理;公網(wǎng)服務(wù)器為阿里云服務(wù)器:ubuntu 16.04/18.04
3)C端:在其他內(nèi)網(wǎng)或公網(wǎng)設(shè)備上訪問SFTP服務(wù)器
2,內(nèi)網(wǎng)服務(wù)器配置
1)安裝ssh服務(wù)器
#更新源
sudo apt-get update
#安裝ssh服務(wù)器
sudo apt-get install openssh-server
# 開機自動啟動ssh命令
sudo systemctl enable ssh
# 單次開啟ssh
sudo systemctl start ssh
2)建立反向代理
內(nèi)網(wǎng)服務(wù)器的22端口和公網(wǎng)服務(wù)器的50000端口建立ssh連接
ssh -fCNR 50000:localhost:22 -o ServerAliveInterval=60 usr@88.88.88.88 -p 22
usr@88.88.88.88用自己的公網(wǎng)IP和用戶名代替!
解釋(例子):
該命令實現(xiàn)的功能是,讓一個遠(yuǎn)端機器的50000端口代理自己的22端口,這里所說的遠(yuǎn)端機器就是我們的公網(wǎng)服務(wù)器。執(zhí)行如下命令查看是否啟用該進(jìn)程
ps aux | grep ssh
3,公網(wǎng)服務(wù)器配置
1)查看是否成功建立連接
netstat -antpul | grep 50000
此時,在公網(wǎng)服務(wù)器上測試連接下sftp服務(wù)器(usr用自己用戶名代替)
sftp -P 50000 usr@127.0.0.1
此時,也可以登錄內(nèi)網(wǎng)服務(wù)器
ssh usr@localhost -p 50000
2)正向代理
前面實現(xiàn)的反向代理端口50000,但這個端口只允許公網(wǎng)服務(wù)器內(nèi)部訪問。也就是說,只能先用ssh登錄公網(wǎng)服務(wù)器,然后在終端上使用ssh訪問50000端口才能真正登錄到內(nèi)網(wǎng)服務(wù)器。需要繼續(xù)配置,才能實現(xiàn)任意第三方的訪問。
公網(wǎng)服務(wù)器:讓50010代理50000
ssh -fCNL *:50010:localhost:50000 -o ServerAliveInterval=60 usr@localhost -p 22
解釋(例子):
該命令實現(xiàn)的功能是,讓本機50010端口指向一個遠(yuǎn)端機器的50000端口,而這里的遠(yuǎn)端機器恰好就是公網(wǎng)服務(wù)器本身。這樣就可以任何機器訪問內(nèi)網(wǎng)的sftp服務(wù)器了。
3)代理進(jìn)程開機啟動
在~/.bashrc中添加上述指令即可
4)阿里云服務(wù)器的安全組配置
由于公網(wǎng)使用了阿里云服務(wù)器,所以要在安全組中開放22、50000、50010端口,其他云服務(wù)器也類似操作即可。
5)用sftp客戶端訪問服務(wù)器
通過以上操作,即實現(xiàn)了內(nèi)網(wǎng)穿透,且可以從外網(wǎng)直接訪問內(nèi)網(wǎng)的sftp服務(wù)器了。
好了,這篇文章的內(nèi)容發(fā)貨聯(lián)盟就和大家分享到這里,如果大家網(wǎng)絡(luò)推廣引流創(chuàng)業(yè)感興趣,可以添加微信:80709525 備注:發(fā)貨聯(lián)盟引流學(xué)習(xí); 我拉你進(jìn)直播課程學(xué)習(xí)群,每周135晚上都是有實戰(zhàn)干貨的推廣引流技術(shù)課程免費分享!