client$ ssh -L $local_port:server:$server_port forwarder sleep 60例如托管的网络有一台主机拥有外网地址,假设是 123.45.67.89,而另外一台是内网的数据库 192.168.0.3,没有外网地址,并且也没有做防火墙的映射,那么可以通过如下方式来登录内网数据库以进行维护:
client$ telnet localhost $local_port
$ ssh -L 2022:192.168.0.3:22 123.45.67.89 sleep 60注意第一个也必须登录,如果第一个登录退出,则第二个也会中断链接。
$ ssh $user@localhost 2022
远程转发:
forwarder$ ssh -R $client_port:server:$server_port client限制和禁止转发:
client$ telnet localhost $client_port
forwarder:/etc/hosts.deny
ALL:ALL
forwarder:/etc/hosts.allow
sshdfwd-$port: client
/etc/ssh/sshd_config:
AllowTcpForwarding yes/no
这将禁止通过该服务器的所有端口转发,不禁止端口转发尝试的调用。比如,如果禁止 client 上的端口转发,仍然能从 client 上使用 ssh 的 -R 标记建立 forwarder 上的转发端口。
--disable-client-port-forwardings, --disable-client-server-forwarding 编译参数。
没有评论:
发表评论