在Linux系统中,SSH端口转发(SSH Tunneling)允许你通过一个安全的SSH连接来转发本地或远程端口。以下是设置SSH端口转发的几种常见方法:
本地端口转发允许你将本地机器上的一个端口转发到远程服务器上的一个端口。
ssh -L local_port:destination_host:destination_port user@ssh_server
假设你想将本地机器的端口8080转发到远程服务器example.com
的端口80:
ssh -L 8080:example.com:80 user@ssh_server
远程端口转发允许你将远程服务器上的一个端口转发到本地机器上的一个端口。
ssh -R remote_port:destination_host:destination_port user@ssh_server
假设你想将远程服务器ssh_server
的端口9090转发到本地机器的端口9090:
ssh -R 9090:localhost:9090 user@ssh_server
动态端口转发允许你将本地机器上的一个端口转发到远程服务器上的SOCKS代理。
ssh -D local_port user@ssh_server
假设你想将本地机器的端口1080设置为SOCKS代理:
ssh -D 1080 user@ssh_server
如果你希望使用SSH密钥进行认证,可以按照以下步骤操作:
生成SSH密钥对(如果还没有):
ssh-keygen -t rsa -b 4096
将公钥复制到远程服务器的~/.ssh/authorized_keys
文件中:
ssh-copy-id user@ssh_server
使用SSH密钥进行端口转发:
ssh -L 8080:example.com:80 -i /path/to/private_key user@ssh_server
通过这些步骤,你可以轻松地在Linux系统中设置SSH端口转发。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:linux命令ssh怎样设置端口转发