tft每日頭條

 > 科技

 > 遠程ssh連接操作

遠程ssh連接操作

科技 更新时间:2024-08-24 17:18:03

SFTP是SSH File Transfer Protocol的縮寫,安全文件傳送協議。SFTP與FTP有着幾乎一樣的語法和功能。SFTP為SSH的其中一部分,是一種傳輸檔案至服務器的安全方式。其實在SSH軟件包中,已經包含了一個叫作SFTP的安全文件信息傳輸子系統,SFTP本身沒有單獨的守護進程,它必須使用sshd守護進程(端口号默認是22)來完成相應的連接和答複操作。

  • 鍊接方式:FTP使用TCP端口21上的控制連接建立連接。而,SFTP是在客戶端和服務器之間通過SSH協議(TCP端口22)建立的安全連接來傳輸文件。
  • 安全性:SFTP使用加密傳輸認證信息和傳輸的數據,所以使用SFTP相對于FTP是非常安全。
  • 效率:SFTP這種傳輸方式使用了加密解密技術,所以傳輸效率比普通的FTP要低得多。

1,搭建環境

1)A端:在内網搭建SFTP服務器;内網環境:ubuntu 16.04/18.04

2)B端:在公網服務器上建立内網服務器的代理;公網服務器為阿裡雲服務器:ubuntu 16.04/18.04

3)C端:在其他内網或公網設備上訪問SFTP服務器

2,内網服務器配置

1)安裝ssh服務器

#更新源 sudo apt-get update #安裝ssh服務器 sudo apt-get install openssh-server # 開機自動啟動ssh命令 sudo systemctl enable ssh # 單次開啟ssh sudo systemctl start ssh

2)建立反向代理

内網服務器的22端口和公網服務器的50000端口建立ssh連接

ssh -fCNR 50000:localhost:22 -o ServerAliveInterval=60 [email protected] -p 22

[email protected]用自己的公網IP和用戶名代替!

解釋(例子):

遠程ssh連接操作(ssh内網穿透并搭建SFTP服務器)1

該命令實現的功能是,讓一個遠端機器的50000端口代理自己的22端口,這裡所說的遠端機器就是我們的公網服務器。執行如下命令查看是否啟用該進程

ps aux | grep ssh

3,公網服務器配置

1)查看是否成功建立連接

netstat -antpul | grep 50000

遠程ssh連接操作(ssh内網穿透并搭建SFTP服務器)2

此時,在公網服務器上測試連接下sftp服務器(usr用自己用戶名代替)

sftp -P 50000 [email protected]

此時,也可以登錄内網服務器

ssh usr@localhost -p 50000

2)正向代理

前面實現的反向代理端口50000,但這個端口隻允許公網服務器内部訪問。也就是說,隻能先用ssh登錄公網服務器,然後在終端上使用ssh訪問50000端口才能真正登錄到内網服務器。需要繼續配置,才能實現任意第三方的訪問。

公網服務器:讓50010代理50000

ssh -fCNL *:50010:localhost:50000 -o ServerAliveInterval=60 usr@localhost -p 22

解釋(例子):

遠程ssh連接操作(ssh内網穿透并搭建SFTP服務器)3

該命令實現的功能是,讓本機50010端口指向一個遠端機器的50000端口,而這裡的遠端機器恰好就是公網服務器本身。這樣就可以任何機器訪問内網的sftp服務器了。

3)代理進程開機啟動

在~/.bashrc中添加上述指令即可

4)阿裡雲服務器的安全組配置

由于公網使用了阿裡雲服務器,所以要在安全組中開放22、50000、50010端口,其他雲服務器也類似操作即可。

5)用sftp客戶端訪問服務器

遠程ssh連接操作(ssh内網穿透并搭建SFTP服務器)4

通過以上操作,即實現了内網穿透,且可以從外網直接訪問内網的sftp服務器了。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved