远程桌面连接(mstsc)
更新时间:2019.09.10
1. 序言
有时候需要用到远程桌面连接(Microsoft terminal services client)来远程连接到其他的电脑,下面来记录一下mstsc的使用和常见问题的解决方法。
ps:本人使用的是win10专业版(\(\color{#8B8682}{查看受支持的windows版本}\)),但是有的版本并不支持内置的远程连接功能,像win10家庭版。忽然感受到微软深深的恶意
。因此,如果使用家庭版并且想要使用远程连接,要不就装一个专业版使用系统内置的mstsc,要不就使用第三方的远程控制工具。
2. 准备工作
2.1 开启远端计算机的远程桌面功能
打开系统属性--->远程设置--->选择允许远程连接到此计算机,根据自己的需要选择是否仅允许使用NLA进行访问。
- 如果在使用内网进行远程连接的时候可以开启“仅允许使用网络级别身份验证(NLA)”,这样做会更加的安全
。但是似乎开启这种验证之后,某些系统的电脑(像xp)就不能进行远程控制
- 如果是使用外网进行远程连接,就不要开启NLA安全验证。
。
2.2 设置防火墙通信
打开控制面板--->系统和安全--->Windows Defender 防火墙--->允许的应用或功能通过Windows Defender 防火墙,对远程桌面进行勾选。
tip1:一般来说,在开启远程桌面功能后,防火墙的远程桌面设置会自动勾选上。因此,如果执行了步骤2.1后并尝试进行远程连接时,却出现以下界面时,请检查防火墙的设置(万一哪一天自己脑袋抽风,关了防火墙远程桌面的允许设置,就连不上了
)。

tip2:如果允许通过防火墙的应用中找不到远程桌面(系统设置开启远程桌面时有警告提示---必须为远程桌面启用windows防火墙例外),可以在本地组策略编辑器中开启远程桌面的设置。按下win + R--->输入cmd(可选)--->输入gpedit.msc--->计算机配置--->管理模板--->网络--->网络连接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,输入远端计算机名称与用户名信息,连接并输入密码凭据(未保存或未使用保存凭据时),理想情况下就可以愉快地远程的访问远端的计算机了
。

tip:最好勾选保存凭据的选项,这样下一次进行同样的远程连接就不需要再输用户名和密码了。也可以手动添加windows凭据,打开控制面板--->用户账户--->凭据管理器--->添加windows凭据
4. 问题---凭据不工作
理想很丰满,现实很骨感。在实际远程连接时,很可能会因为各种问题导致远程连接无法成功
,像远程机被关了,被远程机拉黑了,用户密码错了等等。而我实际上遇到过的便是“凭据不工作”问题
。
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(具体可以参考以下这篇文章“内网穿透在家远程连接公司电脑?”)等,由于我还没有用过,就留在以后再继续探讨了
。
远程桌面连接(mstsc)的更多相关文章
- 远程桌面连接(mstsc)全攻略
打算从今天开始,写一写我经常用的,有长时间使用经验的东西,与大家分享,就从mstsc开始吧! mstsc应该是在Windows中,除了calc.cmd.notepad.mspaint,我使用率最高的系 ...
- 远程桌面连接mstsc 超扎心
搞了一天问了几千个人.最后终于有一位大佬解决了.扎心啊. http://jingyan.baidu.com/article/39810a23edc48bb637fda672.html 就是服务没打开.
- Win7系统 mstsc远程桌面连接失败,提示“您的凭据不工作” 或者“无法连接到远程计算机”的问题。
WIN7 mstsc远程桌面连接其他电脑,提示"您的凭据不工作xxxxxxx"的问题. 或者提示: 本机通过mstsc远程桌面连接服务器,我们按照下面的步骤来逐一排查: 本机配置以 ...
- mstsc Windows局域网内远程桌面连接
1.检查被连接计算机的远程桌面连接功能是否开启 控制面板->系统和安全->系统->远程设置->远程桌面->勾选"仅允许运行使用网络级别身份验证的远程桌面的计算 ...
- 远程桌面连接(mstsc)无法断开的解决方案
某2008 r2有二个系统账户,同时允许两个tcp连接,但每个用户仅同时允许一人登录.不知何因,关闭远程桌面连接的窗口后,再次连接就瞬间提示无法被连接.查看了事件查看器,信息为被注销,这是因为设置了“ ...
- Windows 7远程桌面连接Ubuntu 16.04
转自:http://jingyan.baidu.com/article/8ebacdf0cdc64949f75cd555.html 从Windows 7远程到Windows系统比较简单,只要对方电脑开 ...
- 同网段下,windows自带远程桌面连接
1.服务器关闭防火墙 2.右键点击’我的电脑‘进入’属性‘点击左侧菜单栏中的’远程设置‘: 把远程桌面选项设置成’允许运行任意版本远程桌面的计算机连接‘. 3.客户端点击“开始”在附件菜单下面找到“远 ...
- windows在远程桌面连接中使用命令行参数
在此版本的 Windows 中,可以从搜索框("运行"对话框或命令行)启动远程桌面连接,而不是从「开始」菜单启动它. 从"运行"对话框启动远程桌面的步骤 依次单 ...
- windows server 远程桌面连接问题。
远程桌面连接相当于 linux 服务器root权限连接 mstsc /admin /v:目标IP mstsc /admin /
随机推荐
- 第八届蓝桥杯java b组第六题
标题:最大公共子串 最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少. 比如:"abcdkkk" 和 "baabcdadabc",可以找 ...
- 第八届蓝桥杯java b组第二题
标题:纸牌三角形 A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算).要求每个边的和相等. 下图就是一种排法(如有对齐问题,参看p1.png). A ...
- vuex(vue状态管理)
vuex(vue状态管理) 1.先安装vuex npm install vuex --save 2.在项目的src目录下创建store目录,并且新建index.js文件,然后创建vuex实例,引入 ...
- 夯实Java基础系列10:深入理解Java中的异常体系
目录 为什么要使用异常 异常基本定义 异常体系 初识异常 异常和错误 异常的处理方式 "不负责任"的throws 纠结的finally throw : JRE也使用的关键字 异常调 ...
- js初学总结
基础 交换变量方式 //利用第三方变量进行交换 var num1 = 10; var num2 = 20; var temp; temp = num1; num1 = num2; num2 = tem ...
- springboot系列之04-提高开发效率必备工具lombok
未经允许,不得转载 原作者:字母哥博客 本文完整系列出自:springboot深入浅出系列 一.前置说明 本节大纲 使用lombok插件的好处 如何安装lombok插件 使用lombok提高开发效率 ...
- 清空div中的数据
//清空div $("#divinput").val(""); $("#divimg").val(""); $(&quo ...
- Spring MVC拦截器学习
1 介绍 Spring Web MVC是基于Servlet API构建的原始Web框架. 2 拦截器 2.1 定义 springmvc框架的一种拦截机制 2.2 使用 2.2.1 两步走 实现Hand ...
- python语言程序设计基础(嵩天)第四章课后习题部分答案
p121: *题4.1:猜数字游戏.在程序中预设一个0~9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“遗憾,太大了!”:小于预设的数,显示“遗憾,太小了!”,如此循环,直至猜中该数 ...
- Azure pipeline 配置根据条件执行脚本
Azure pipeline 配置根据条件执行脚本 Intro 我的应用通过 azure pipeline 来做持续集成,之前已经介绍了根据不同分支去打包不同的package,具体的就不再这里详细介绍 ...