在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连接,同时继续在终端中执行其他命令。