我们有一个公司的 RDS(远程桌面服务器)TSG(终端服务网关)服务器,它允许员工从家里连接到 RDS 会话,这样他们就可以从家里看到工作 RDS 桌面。
这在使用 Windows 7 并具有以下设置的家用计算机上运行良好:
然而,一些用户家里有Linux,并正在尝试使用freerdp 1.2.0。
我已经使用以下命令在连接到内部公司 LAN 的笔记本电脑上对此进行了测试,并且运行良好:
$ xfreerdp /f /rfx /cert-ignore /v:farm.company.com /d:company.com /u:administrator /p:
但是,如果我尝试在未使用公司 LAN 连接(即家庭连接)的笔记本电脑上使用该命令,我会得到以下信息:
freerdp_set_last_error 0x2000C
Error: protocol security negotiation or connection failure
所以我现在尝试使用一些freerdp 1.2.0 中的新 TSG 命令如下,但这也行不通。
我只能看到 4 个 TSG 相关命令:
/g:<gateway>[:port] Gateway Hostname
/gu:[<domain>]<user> or <user>[@<domain>] Gateway username
/gp:<password> Gateway password
/gd:<domain> Gateway domain
我在某处读到我只需要/g
在我的特定场景中使用,我可能读错了。
所以当我尝试时:
$ xfreerdp /f /rfx /cert-ignore /v:farm.company.com /d:company.com /g:rds.company.com /u:administrator /p:
这会给我:
Could not open SAM file!
Could not open SAM file!
Could not open SAM file!
Could not open SAM file!
rts_connect: error! Status Code: 401
HTTP/1.1 401 Unauthorized
Content-Type: text/plain
Server: Microsoft-IIS/7.5
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
WWW-Authenticate: Basic realm="rds.company"
X-Powered-By: ASP.NET
Date: Wed, 02 Jul 2014 12:36:41 GMT
Content-Length: 13
考虑到原始命令:
$ xfreerdp /f /rfx /cert-ignore /v:farm.company.com /d:company.com /u:administrator /p:
这适用于连接到公司 LAN 内的网络的 Linux 笔记本电脑。
为什么我不能在家里连接到互联网的同一台 Linux 笔记本电脑上使用类似的命令(带有额外的 TSG 参数)?
我是否没有正确使用新的 TSG 开关?
答案1
您需要确保您键入的命令的布局正确。如果你有一件事情搞砸了或者在错误的位置,那么无论你尝试什么都会出错。
您尝试运行的命令$ xfreerdp /f /rfx /cert-ignore /v:farm.company.com /d:company.com /g:rds.company.com /u:administrator /p:
你需要输入这样的命令 -
xfreerdp /cert-ignore /v:WORKSTATION /d:DOMAIN /u:USERNAME /p:PASSWORD /g:GATEWAY
现在,如果您没有为 RD 网关的终端服务器使用相同的帐户,那么您将必须运行此- xfreerdp /v:WORKSTATION /d:DOMAIN /u:USERNAME /p:PASSWORD /g:GATEWAY /gd:GATEWAYDOMAIN /gu:GATEWAYUSERNAME /gp:GATEWAYPASSWORD
。需要这样做的原因是,如果正在连接的用户尚未作为授权帐户保存在 rd 网关中,它将拒绝连接该用户。因此,拥有访问连接的所有权限的网关的主要用户将能够强制连接它们,并且应该建立完整的连接。这允许某种力连接
还要确保您在公司使用的路由器配置为可以从办公室外部的远程连接进行访问。如果从未正确设置或配置,这也会导致连接失败。
答案2
我在将笔记本电脑连接到 kvm 主机上的 kvm guest 虚拟机时也遇到了错误,直到我添加/sec:rdp
/usr/local/bin/xfreerdp /f /rfx /cert-ignore /v:myhostip /u:mywindowsuser /p:mypassword /sec:rdp