首页 > 编程知识 正文

java实现ssh远程访问(iptables端口转发)

时间:2023-05-03 14:05:58 阅读:81829 作者:2558

如果两个内部网之间的linux服务器需要相互登录,或者需要相互访问内部网的某个端口,则可能没有公共IP。 可用的方法是ngrok(https://ngrok.com),但并不方便。 只使用两个sh命令。

SSH内部网端口传输实战SSH内部网端口传输实战

首先举出正文的主角,两个SSH命令:

远程端口转发(从远程服务器的端口转发到本地内部网的服务器端口) ) )。

ssh -CfNg -R (命令行密钥) 2222;远程服务器端口(127.0.0.1:22 )本地端口) 123.45.67.8;远程服务器) )。

本地端口传输(从本地内部网服务器的端口传输到远程服务器端口) ) )。

ssh -CfNg -L (命令行的密钥) 2222 )远程服务器端口) :0.0.0.0:4444 )本地端口) 123.45.67.8 )远程服务器)

命令行选项的说明:

(c )压缩数据传输。

--f :后台认证用户/密码。 与-N连用,不需要登录远程主机。

-N :不执行脚本和命令,通常与-f连用。

- g :使用“- l/- r/- d”参数,可以连接到建立远程主机的目标端口。 如果不指定此参数,则只有本地主机可以建立连接。

--l本地端口:目标IP:目标端口

-T不分配TTY,只作为代理使用

--q静默模式,不输出错误/警告信息

必须允许远程计算机访问的内部计算机的端口号(端口:22 )。

知道以上参数后,使用以下命令创建远程SSH隧道,并在内部网主机上运行

sh-cfng-r 22223360127.0.0.1:22123.45.67.8

当前,在IP为123.45.67.8的计算机上,可以使用以下命令登录intranet为192.168.0.100的计算机:

sh-p 2222本地主机

现在,公共ip的123.45.67.8主机可以在本地访问内部网服务器端,但是内部网客户端怎么登录? 只需将内部网客户端的4444个端口映射到123.45.67.8的2222个端口。

我们现在需要在本地转发。

sh-cfng-l 222233600.0.0.0:444123.45.67.8

运行后,本地内部网客户端4444端口连接到123.45.67.8的2222端口,然后123.45.67.8的2222端口连接到内部网服务器端的22端口,完成映射

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。