如何从 Linux 连接到 Windows 远程域并知道其网关主机名?

如何从 Linux 连接到 Windows 远程域并知道其网关主机名?

我有凭证可以连接到我所在大学的保留 Linux 虚拟机,这意味着:

  • 用户名
  • 密码
  • 假设网关的主机名secretgateway.net
  • 域中的完整主机名,.local假设它是myscrethostname.local
  • 我需要连接的域pluto

还有一些其他的东西。我如何从远程网络中的 Ubuntu 连接到这台机器(通过 RDP 或最好是 SSH)?

编辑我需要.rdp在 Windows 中打开并连接到机器,但是当我使用 Ubuntu 的远程桌面连接(Remmina)时,它会尝试直接连接到 hostname.local,我认为这不起作用。

答案1

现在我已经能够通过两个不同层面的步骤连接到不在我的 LAN 中的远程计算机上的 Remmina:

A)工作中的远程计算机(例如 Windows):

  1. 必须打开电源(不能处于待机或休眠模式)
  2. 启用远程桌面选项进行用户身份验证
  3. 启用防火墙远程协助远程桌面和 IPlocalpublic
  4. 您需要知道它的公共 IP,该 IP 可能会发生变化,因此您可以选择创建/了解相对动态 DNS (DDNS)。要了解远程计算机上的公共 IP,您可以在远程计算机上启动以下命令,该命令在 Windows 或 Linux 上均可运行:

    nslookup myip.opendns.com resolver1.opendns.com

    在远程 Linux 上,您还可以运行如下脚本:

    #!/bin/bash myip="$(dig +short myip.opendns.com @resolver1.opendns.com)" echo "${myip}" > ~/Desktop/my_public_ip.txt

  5. 如果您的远程公共 IP 发生变化,您需要重复第 4 步来获取新的公共 IP(如果您使用动态 DNS,则不需要),并使用它来配置您家中的路由器

  6. 我不知道是否有必要,但也许有必要在远程路由器上打开 3389 端口:暂时省略第六步并继续

b)你家里的电脑(例如Linux):

  1. 您需要配置路由器,使用 TCP 协议启用与本地 IP 关联的端口 3389
  2. 您需要在防火墙中打开端口 3389;例如,在 Linux 中,您可以运行以下命令: $ sudo firewall-cmd --zone=public --add-port=3389/tcp --permanent
  3. 在 Fedora 中安装 Remmina;例如:$ sudo dnf install remmina*
  4. 打开 remmina 并使用RDP协议设置远程桌面,指示远程公共 IP,端口 ( x.x.x.x:3389) 作为服务器,您的usernamepassword,域(如WORKGROUP)(如果有),设置client resolution,深度颜色为Truecolor 32 bpp,要共享的文件夹(如果有),以及高级选项卡good作为质量NLA (网络级别身份验证:对我来说有效)或RDP作为安全性。保存并连接,接受证书请求

其他工具

为了解决使用 Remmina(及类似产品)时发现的不良行为,即将远程用户重定向到 Windows 锁定屏幕,只允许一个用户登录,您需要避免使用 RDP 协议。

以下是替代工具的列表:

a) NoMachine 或 NX 通过 SSH 协议使用 X11 转发

b) Anydesk

c) UltraVNC

a) NoMachine 或 NX 通过 SSH 使用 X11 转发

b) Anydesk

c) UltraVNC

相关内容