远程桌面连接(mstsc)
更新时间:2019.09.10
[TOC]
1. 序言
有时候需要用到远程桌面连接(Microsoft terminal services client)来远程连接到其他的电脑,下面来记录一下mstsc的使用和常见问题的解决方法。
**ps:**本人使用的是win10专业版($\color{#8B8682}{查看受支持的windows版本}$),但是有的版本并不支持内置的远程连接功能,像win10家庭版。忽然感受到微软深深的恶意<img src="https://img2018.cnblogs.com/blog/1684731/201909/1684731-20190907124001046-1372496816.png" alt="吐血" width="22px" height="15px" />。因此,如果使用家庭版并且想要使用远程连接,要不就装一个专业版使用系统内置的mstsc,要不就使用第三方的远程控制工具。
2. 准备工作
2.1 开启远端计算机的远程桌面功能
打开系统属性--->远程设置--->选择允许远程连接到此计算机,根据自己的需要选择是否仅允许使用NLA进行访问。
- 如果在使用内网进行远程连接的时候可以开启“仅允许使用网络级别身份验证(NLA)”,这样做会更加的安全<img alt="思考" width="19px" height="22px" src="https://img2018.cnblogs.com/blog/1684731/201909/1684731-20190910114649361-477070291.png" />。但是似乎开启这种验证之后,某些系统的电脑(像xp)就不能进行远程控制<img src="https://img2018.cnblogs.com/blog/1684731/201909/1684731-20190910115217448-1362315118.png" alt="喷口水" width="20px" height="14px"/>
- 如果是使用外网进行远程连接,就不要开启NLA安全验证。
<img alt="远程连接" width="386px" heigh t="480px" src="https://img2018.cnblogs.com/blog/1684731/201909/1684731-20190907144242739-1713294215.png" />。
2.2 设置防火墙通信
打开控制面板--->系统和安全--->Windows Defender 防火墙--->允许的应用或功能通过Windows Defender 防火墙,对远程桌面进行勾选。
**tip1:**一般来说,在开启远程桌面功能后,防火墙的远程桌面设置会自动勾选上。因此,如果执行了步骤2.1后并尝试进行远程连接时,却出现以下界面时,请检查防火墙的设置(万一哪一天自己脑袋抽风,关了防火墙远程桌面的允许设置,就连不上了<img alt="敲桌" width="22px" height="25px" src="https://img2018.cnblogs.com/blog/1684731/201909/1684731-20190907143009919-846951210.png" />)。 <img alt="mstsc错误提示" src="https://img2018.cnblogs.com/blog/1684731/201909/1684731-20190907144919358-536746274.png" />
**tip2:**如果允许通过防火墙的应用中找不到远程桌面(系统设置开启远程桌面时有警告提示---必须为远程桌面启用windows防火墙例外),可以在本地组策略编辑器中开启远程桌面的设置。按下<kbd>win</kbd> + <kbd>R</kbd>--->输入<kbd>cmd</kbd>(可选)--->输入<kbd>gpedit.msc</kbd>--->计算机配置--->管理模板--->网络--->网络连接Windows Defender 防火墙--->标准配置文件--->允许入站远程桌面例外--->策略设置--->已启用
2.3 获取远端计算机的信息
要远程访问其他的计算机,需要获取远端计算机的名称(计算机名、ip地址或者Internet域名),用于访问的远端用户名及其密码。如果使用外网连接,还需要获取所在的公网ip,要映射的端口(默认是使用3389)
- 获取ip的方法:运行cmd--->输入ipconfig,IPV4就是电脑的ip,默认网关就是路由器的ip
- 获取要映射的端口的方法:运行cmd--->输入tasklist /svc | find “TermService” ,得到它的PID(像我的是1112)--->输入netstat -ano | find "1112"(1112需要替换为之前查询到的PID),这样就可以查到端口。
3. 内网远程连接(以mstsc的方式)
运行命令行cmd,输入mstsc,输入远端计算机名称与用户名信息,连接并输入密码凭据(未保存或未使用保存凭据时),理想情况下就可以愉快地远程的访问远端的计算机了<img alt="吃惊" src="https://img2018.cnblogs.com/blog/1684731/201909/1684731-20190907180128553-1651165476.png" width="21px" height="19px"/>。 <img src="https://img2018.cnblogs.com/blog/1684731/201909/1684731-20190907180406439-316217985.png" alt="远程连接界面"/>
**tip:**最好勾选保存凭据的选项,这样下一次进行同样的远程连接就不需要再输用户名和密码了。也可以手动添加windows凭据,打开控制面板--->用户账户--->凭据管理器--->添加windows凭据
4. 问题---凭据不工作
理想很丰满,现实很骨感。在实际远程连接时,很可能会因为各种问题导致远程连接无法成功<img alt="冷汗" width="21px" height="19px" src="https://img2018.cnblogs.com/blog/1684731/201909/1684731-20190907183154353-1619858092.png" />,像远程机被关了,被远程机拉黑了,用户密码错了等等。而我实际上遇到过的便是“凭据不工作”问题<img src="https://img2018.cnblogs.com/blog/1684731/201909/1684731-20190907124001046-1372496816.png" alt="吐血" width="21px" height="15px" />。
4.1Solution:将远端机器的本地账户共享和安全模型设为经典模式
运行命令行cmd--->输入gpedit.msc--->计算机配置--->windows设置--->安全设置--->本地设置--->安全选项--->网络访问:本地帐户的共享和安全模型,双击修改为经典-对本地用户进行身份验证,不该变其原来的身份---> 确定,更新一下计算机策略(gpupdate /force)--->执行步骤3
**ps:**我用这种方法是能成功解决凭据不工作的问题
4.2 其他Solution:
除了上述的Solution,网上还有一些别的方法,但是我都试过(单一方法或者多重组合),并没有成功解决凭证不工作的问题。为了以防万一,也把其他方法整理放在这里。
- 在客户端与远程会话主机服务器通信期间指定使用一个特定的安全层:运行命令行cmd--->输入gpedit.msc--->计算机配置--->管理模板--->windows组件--->远程桌面服务--->选择远程桌面会话主机--->安全--->远程(RDP)连接要求使用指定的安全层--->策略设置--->启用(选用RDP)。
- 设置分配保存的凭据用于NLTM身份验证:运行命令行cmd--->输入gpedit.msc--->计算机配置--->管理模板--->系统--->凭据管理--->允许分配保存的凭据仅用于NLTM服务器身份验证。
5. 外网远程连接(mstsc)
如果需要通过外网进行远程连接,要用到端口转移或者设置vpn。以端口转移为例,除了像内网远程连接那几个步骤之外,还要通过设置远程机连接的路由器,将端口映射到电脑的ip上,最后通过访问公网的ip(我们通常使用的路由器ip并不是公网的ip)。实现外网远程连接。
至于实际上怎么完成端口映射的操作,可以参考以下关于端口映射的文章:
- 微软远程桌面的官方文档
- 端口映射的具体步骤
- 其他参考资料
6. 结语
当然还有其他许多远程连接的方法,像frp(具体可以参考以下这篇文章“内网穿透在家远程连接公司电脑?”)等,由于我还没有用过,就留在以后再继续探讨了<img alt="微笑" width="24px" leight="24px" src="https://img2018.cnblogs.com/blog/1684731/201909/1684731-20190910161237610-2126813924.jpg" />。
原文出处:https://www.cnblogs.com/liangjianli/p/11480039.html
以上是 远程桌面连接(mstsc) 的全部内容, 来源链接: utcz.com/z/509759.html