通过 vps 代理我家里的 Ssh 服务器

通过 vps 代理我家里的 Ssh 服务器

我想通过 Dedipath 的 VPS 代理我的家庭 SSH 服务器,但我不知道它是如何工作的。因为我已经尝试过许多 tcp 代理,但它们都没有起作用。

我的 VPS 有 Debian 10,我的家庭服务器也有。

答案1

如果我假设您的家庭服务器位于 NAT 后面,并且您的 VPS 具有公共互联网 IP,那么您可以使用 ssh 远程隧道选项来实现这一点:

  • 在您的家庭服务器上,为隧道创建一个专用用户和一个 ssh 密钥对:
useradd -m tunneltovps
sudo -u tunneltovps -i
ssh-keygen -t ed25519
cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... tunneltovps@myhome-server


* on your VPS server, create a dedicated user for the tunnel with home-server, and copy the public key to `~/.ssh/authorized_keys`:
```shell
useradd -m myhomeserver
sudo -u myhomeserver -i
mkdir .ssh
echo ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... tunneltovps@myhome-server >> ~/.ssh/authorized_keys
  • 在家庭服务器上,测试连接:
sudo -u tunneltovps -i
ssh -R 1234:localhost:22 my-vps-server

现在,在你的 VPS 上,端口 1234 应该正在监听(在 localhost 上)并通过隧道连接到 myhome-server 上的 ssh 服务器

您可以使用 VPS 作为跳转主机,测试从任何连接到互联网的机器连接到您的家庭服务器:

ssh -J my-vps-server -p 1234 localhost

或者,如果您想公开 my-home-server 的 ssh 服务器,您可以使用此命令在 home-server 上创建隧道:

ssh -R 0.0.0.0:1234:localhost:22 my-vps-server

现在,你的主服务器可以通过以下方式直接访问(无需 jumphost):

ssh -p 1234 my-vps-server

相关内容