如何从外网SSH连接内网服务器

首页 > 科技

如何从外网SSH连接内网服务器

来源:寻美食 发布时间:2024-02-27 15:24

现在有这样一个情况,实验室有自己的服务器(内网),并且有相关老师进行维护(公网),我们可以在内网用内网ip访问服务器,假如我们在家里只能通过公网进行登录。但是我在实验室有一个小服务器(内网),假如我在家里就没法连接了,现有:内网服务器C,公网服务器B以及家里的电脑A,其中本地无法连接内网,但是本地和内网都可以连接公网

目的:本地也可以连接内网

解决:使用ssh反向地道,将内网的端口反向署理到公网上。这样我们可以本地访问公网,然后用ssh地道访问内网。

SSH地道

下面的命令中公网、内网分别用ex、in代替(看起来利便)

在内网服务器下运行下面指令

autossh -M <any_port> -fCNR <target_port>:localhost:22 <ex_user>@<ex_ip>

这条命令的意思是将内网服务器的22端口映射到公网服务器的<target_port>端口,最后面是公网的用户和ip

其中M是监督端口,假如断连的话就会重新连接

运行完上述命令后就公网和内网之间的ssh地道就建立好了

访问内网服务器

运行如下命令就可以在本地登录内网服务器了

ssh <in_user>@<ex_ip> -p <target_port>

到这里就结束了,同理也可以先登录外网服务器,然后通过外网服务器登录内网服务器

ssh <ex_user>@<ex_ip> # 1. 此时进入到外网服务器

ssh -p <target_port> <in_user>@<ex_ip> # 2. 进入到内网服务器

ssh -p <target_port> <in_user>@localhost # 2. 也可以localhost直接进入

查看端口状态

可以使用lsof -i:22和lsof -i:<target_port>查看内网和外网服务器端口状态

留意

在服务器之间访问时最好将ssh秘钥都传输到各个机器中,这样可以避免输入密码

假如设置了密钥没法登陆,可能是没开启秘钥登录。vim /etc/ssh/sshd_config,将其中的PubkeyAuthentication设为yes

假如端口无法开放的话,vim /etc/ssh/sshd_config,将其中的GatewayPorts设为yes,然后service sshd restart或者systemctl restart sshd重启ssh。

总结:

要从外网SSH连接内网服务器,你可以按照以下步进行设置:

确保内网服务器有一个公网IP地址或者使用端口映射技术(例如NAT)将内网服务器的端口映射到公网IP地址上。在内网服务器上安装和配置SSH服务器软件(例如OpenSSH)。在路由器或防火墙上进行端口转发设置,将外部SSH哀求的端口转发到内网服务器的IP地址和SSH端口。配置内网服务器的防火墙,答应外部SSH连接通过指定的端口。在外部计算机上使用SSH客户端软件(例如OpenSSH或PuTTY)连接到公网IP地址和转发的端口。

请留意,这些步骤可能因网络环境和设备配置而有所不同。

现在有这样一个情况,实验室有自己的服务器(内网),并且有相关老师进行维护(公网),我们可以在内网用内网ip访问服务器,假如我们在家里只能通过公网进行登录。但是我在实验室有一个小服务器(内网),假如我在家里就没法连接了,现有:内网服务器C,公网服务器B以及家里的电脑A,其中本地无法连接内网,但是本地和内网都可以连接公网

目的:本地也可以连接内网

解决:使用ssh反向地道,将内网的端口反向署理到公网上。这样我们可以本地访问公网,然后用ssh地道访问内网。

SSH地道

下面的命令中公网、内网分别用ex、in代替(看起来利便)

在内网服务器下运行下面指令

autossh -M <any_port> -fCNR <target_port>:localhost:22 <ex_user>@<ex_ip>

这条命令的意思是将内网服务器的22端口映射到公网服务器的<target_port>端口,最后面是公网的用户和ip

其中M是监督端口,假如断连的话就会重新连接

运行完上述命令后就公网和内网之间的ssh地道就建立好了

访问内网服务器

运行如下命令就可以在本地登录内网服务器了

ssh <in_user>@<ex_ip> -p <target_port>

到这里就结束了,同理也可以先登录外网服务器,然后通过外网服务器登录内网服务器

ssh <ex_user>@<ex_ip> # 1. 此时进入到外网服务器

ssh -p <target_port> <in_user>@<ex_ip> # 2. 进入到内网服务器

ssh -p <target_port> <in_user>@localhost # 2. 也可以localhost直接进入

查看端口状态

可以使用lsof -i:22和lsof -i:<target_port>查看内网和外网服务器端口状态

留意

在服务器之间访问时最好将ssh秘钥都传输到各个机器中,这样可以避免输入密码

假如设置了密钥没法登陆,可能是没开启秘钥登录。vim /etc/ssh/sshd_config,将其中的PubkeyAuthentication设为yes

假如端口无法开放的话,vim /etc/ssh/sshd_config,将其中的GatewayPorts设为yes,然后service sshd restart或者systemctl restart sshd重启ssh。

总结:

要从外网SSH连接内网服务器,你可以按照以下步进行设置:

确保内网服务器有一个公网IP地址或者使用端口映射技术(例如NAT)将内网服务器的端口映射到公网IP地址上。在内网服务器上安装和配置SSH服务器软件(例如OpenSSH)。在路由器或防火墙上进行端口转发设置,将外部SSH哀求的端口转发到内网服务器的IP地址和SSH端口。配置内网服务器的防火墙,答应外部SSH连接通过指定的端口。在外部计算机上使用SSH客户端软件(例如OpenSSH或PuTTY)连接到公网IP地址和转发的端口。

请留意,这些步骤可能因网络环境和设备配置而有所不同。

现在有这样一个情况,实验室有自己的服务器(内网),并且有相关老师进行维护(公网),我们可以在内网用内网ip访问服务器,假如我们在家里只能通过公网进行登录。但是我在实验室有一个小服务器(内网),假如我在家里就没法连接了,现有:内网服务器C,公网服务器B以及家里的电脑A,其中本地无法连接内网,但是本地和内网都可以连接公网

目的:本地也可以连接内网

解决:使用ssh反向地道,将内网的端口反向署理到公网上。这样我们可以本地访问公网,然后用ssh地道访问内网。

SSH地道

下面的命令中公网、内网分别用ex、in代替(看起来利便)

在内网服务器下运行下面指令

autossh -M <any_port> -fCNR <target_port>:localhost:22 <ex_user>@<ex_ip>

这条命令的意思是将内网服务器的22端口映射到公网服务器的<target_port>端口,最后面是公网的用户和ip

其中M是监督端口,假如断连的话就会重新连接

运行完上述命令后就公网和内网之间的ssh地道就建立好了

访问内网服务器

运行如下命令就可以在本地登录内网服务器了

ssh <in_user>@<ex_ip> -p <target_port>

到这里就结束了,同理也可以先登录外网服务器,然后通过外网服务器登录内网服务器

ssh <ex_user>@<ex_ip> # 1. 此时进入到外网服务器

ssh -p <target_port> <in_user>@<ex_ip> # 2. 进入到内网服务器

ssh -p <target_port> <in_user>@localhost # 2. 也可以localhost直接进入

查看端口状态

可以使用lsof -i:22和lsof -i:<target_port>查看内网和外网服务器端口状态

留意

在服务器之间访问时最好将ssh秘钥都传输到各个机器中,这样可以避免输入密码

假如设置了密钥没法登陆,可能是没开启秘钥登录。vim /etc/ssh/sshd_config,将其中的PubkeyAuthentication设为yes

假如端口无法开放的话,vim /etc/ssh/sshd_config,将其中的GatewayPorts设为yes,然后service sshd restart或者systemctl restart sshd重启ssh。

总结:

要从外网SSH连接内网服务器,你可以按照以下步进行设置:

确保内网服务器有一个公网IP地址或者使用端口映射技术(例如NAT)将内网服务器的端口映射到公网IP地址上。在内网服务器上安装和配置SSH服务器软件(例如OpenSSH)。在路由器或防火墙上进行端口转发设置,将外部SSH哀求的端口转发到内网服务器的IP地址和SSH端口。配置内网服务器的防火墙,答应外部SSH连接通过指定的端口。在外部计算机上使用SSH客户端软件(例如OpenSSH或PuTTY)连接到公网IP地址和转发的端口。

请留意,这些步骤可能因网络环境和设备配置而有所不同。

现在有这样一个情况,实验室有自己的服务器(内网),并且有相关老师进行维护(公网),我们可以在内网用内网ip访问服务器,假如我们在家里只能通过公网进行登录。但是我在实验室有一个小服务器(内网),假如我在家里就没法连接了,现有:内网服务器C,公网服务器B以及家里的电脑A,其中本地无法连接内网,但是本地和内网都可以连接公网

目的:本地也可以连接内网

解决:使用ssh反向地道,将内网的端口反向署理到公网上。这样我们可以本地访问公网,然后用ssh地道访问内网。

SSH地道

下面的命令中公网、内网分别用ex、in代替(看起来利便)

在内网服务器下运行下面指令

autossh -M <any_port> -fCNR <target_port>:localhost:22 <ex_user>@<ex_ip>

这条命令的意思是将内网服务器的22端口映射到公网服务器的<target_port>端口,最后面是公网的用户和ip

其中M是监督端口,假如断连的话就会重新连接

运行完上述命令后就公网和内网之间的ssh地道就建立好了

访问内网服务器

运行如下命令就可以在本地登录内网服务器了

ssh <in_user>@<ex_ip> -p <target_port>

到这里就结束了,同理也可以先登录外网服务器,然后通过外网服务器登录内网服务器

ssh <ex_user>@<ex_ip> # 1. 此时进入到外网服务器

ssh -p <target_port> <in_user>@<ex_ip> # 2. 进入到内网服务器

ssh -p <target_port> <in_user>@localhost # 2. 也可以localhost直接进入

查看端口状态

可以使用lsof -i:22和lsof -i:<target_port>查看内网和外网服务器端口状态

留意

在服务器之间访问时最好将ssh秘钥都传输到各个机器中,这样可以避免输入密码

假如设置了密钥没法登陆,可能是没开启秘钥登录。vim /etc/ssh/sshd_config,将其中的PubkeyAuthentication设为yes

假如端口无法开放的话,vim /etc/ssh/sshd_config,将其中的GatewayPorts设为yes,然后service sshd restart或者systemctl restart sshd重启ssh。

总结:

要从外网SSH连接内网服务器,你可以按照以下步进行设置:

确保内网服务器有一个公网IP地址或者使用端口映射技术(例如NAT)将内网服务器的端口映射到公网IP地址上。在内网服务器上安装和配置SSH服务器软件(例如OpenSSH)。在路由器或防火墙上进行端口转发设置,将外部SSH哀求的端口转发到内网服务器的IP地址和SSH端口。配置内网服务器的防火墙,答应外部SSH连接通过指定的端口。在外部计算机上使用SSH客户端软件(例如OpenSSH或PuTTY)连接到公网IP地址和转发的端口。

请留意,这些步骤可能因网络环境和设备配置而有所不同。

现在有这样一个情况,实验室有自己的服务器(内网),并且有相关老师进行维护(公网),我们可以在内网用内网ip访问服务器,假如我们在家里只能通过公网进行登录。但是我在实验室有一个小服务器(内网),假如我在家里就没法连接了,现有:内网服务器C,公网服务器B以及家里的电脑A,其中本地无法连接内网,但是本地和内网都可以连接公网

目的:本地也可以连接内网

解决:使用ssh反向地道,将内网的端口反向署理到公网上。这样我们可以本地访问公网,然后用ssh地道访问内网。

SSH地道

下面的命令中公网、内网分别用ex、in代替(看起来利便)

在内网服务器下运行下面指令

autossh -M <any_port> -fCNR <target_port>:localhost:22 <ex_user>@<ex_ip>

这条命令的意思是将内网服务器的22端口映射到公网服务器的<target_port>端口,最后面是公网的用户和ip

其中M是监督端口,假如断连的话就会重新连接

运行完上述命令后就公网和内网之间的ssh地道就建立好了

访问内网服务器

运行如下命令就可以在本地登录内网服务器了

ssh <in_user>@<ex_ip> -p <target_port>

到这里就结束了,同理也可以先登录外网服务器,然后通过外网服务器登录内网服务器

ssh <ex_user>@<ex_ip> # 1. 此时进入到外网服务器

ssh -p <target_port> <in_user>@<ex_ip> # 2. 进入到内网服务器

ssh -p <target_port> <in_user>@localhost # 2. 也可以localhost直接进入

查看端口状态

可以使用lsof -i:22和lsof -i:<target_port>查看内网和外网服务器端口状态

留意

在服务器之间访问时最好将ssh秘钥都传输到各个机器中,这样可以避免输入密码

假如设置了密钥没法登陆,可能是没开启秘钥登录。vim /etc/ssh/sshd_config,将其中的PubkeyAuthentication设为yes

假如端口无法开放的话,vim /etc/ssh/sshd_config,将其中的GatewayPorts设为yes,然后service sshd restart或者systemctl restart sshd重启ssh。

总结:

要从外网SSH连接内网服务器,你可以按照以下步进行设置:

确保内网服务器有一个公网IP地址或者使用端口映射技术(例如NAT)将内网服务器的端口映射到公网IP地址上。在内网服务器上安装和配置SSH服务器软件(例如OpenSSH)。在路由器或防火墙上进行端口转发设置,将外部SSH哀求的端口转发到内网服务器的IP地址和SSH端口。配置内网服务器的防火墙,答应外部SSH连接通过指定的端口。在外部计算机上使用SSH客户端软件(例如OpenSSH或PuTTY)连接到公网IP地址和转发的端口。

请留意,这些步骤可能因网络环境和设备配置而有所不同。

上一篇:云南嵩明:拧... 下一篇:基层医疗服务...
猜你喜欢
热门阅读
同类推荐