在Ubuntu系統中,您可以使用SSH(Secure Shell)來實現SFTP(SSH File Transfer Protocol)的端口轉發。端口轉發允許您通過一個安全的SSH連接將本地計算機上的端口轉發到遠程服務器上的另一個端口。這樣,您可以通過SFTP安全地傳輸文件,即使目標服務器上的SFTP服務不是默認的22端口。
以下是如何在Ubuntu上設置SSH端口轉發的步驟:
打開終端(Terminal)。
使用以下命令創建SSH隧道,將本地端口(例如12345)轉發到遠程服務器上的SFTP端口(例如22):
ssh -L 12345:remote-server-ip:22 user@ssh-server-ip
12345
是您要在本地計算機上映射的端口。remote-server-ip
是遠程服務器的IP地址或主機名。22
是遠程服務器上SFTP服務的端口號。user
是您在SSH服務器上的用戶名。ssh-server-ip
是SSH服務器的IP地址或主機名。現在,您可以在本地計算機上使用SFTP客戶端連接到localhost
的12345
端口,就像連接到遠程服務器的SFTP服務一樣:
sftp localhost -p 12345
這將允許您通過SSH隧道安全地傳輸文件。
請注意,如果您使用的是SSH密鑰進行身份驗證,您可能需要在命令中添加-i
選項來指定私鑰文件的路徑,如下所示:
ssh -i /path/to/private-key -L 12345:remote-server-ip:22 user@ssh-server-ip
此外,如果您希望SSH隧道在后臺運行,可以使用-f
選項將SSH命令放入后臺執行:
ssh -f -L 12345:remote-server-ip:22 user@ssh-server-ip
這樣,您就可以在后臺保持SSH連接,同時繼續在終端中執行其他命令。