我有一个dd-wrt路由器,我设置了一个ssh端口转发规则,将每个WAN请求重定向到私有LAN中的主机,此时此主机不可用。是否可以通过ssh参数避免防火墙重定向并通过ssh直接连接到路由器?注意:目前我无法直接访问路由器。
答案 0 :(得分:0)
一个有效的解决方案是将单个SSH端口转发到网络上的一个主机,然后通过该主机使用SSH转发到其他主机。
这可以轻松添加到客户端ssh config:
template<int X> class MyClass { public: void foo(int Y) { std::cout << X Y<< std::endl; } };
template<int X> inline void MyTest(int Y) { MyTest<X - 1>(Y); MyClass<X-1> bar; bar.foo(Y); }
template<> inline void MyTest<1>(int Y) { MyClass<0> bar; bar.foo(Y); }
如果您更喜欢其他身份验证,则可以省略IdentityFile行。如果您为host AnyNameYouLike
Hostname remoteHostnameOrIp
Proxycommand ssh -q proxyuser@proxyhostname.remotely.accessible nc -q0 %h %p
User remoteHostnameOrIpUser
IdentityFile ~/.ssh/remoteHostnameOrIp_id_rsa
设置条目,则可以完全无密码且透明代理。
此外,您可以使用通配符,并通过代理为任何匹配的主机自动ssh,例如:
proxyuser@proxyhostname.remotely.accessible