远程桌面连接(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 /
随机推荐
- pathlib模块
一.pathlib库官方定义 pathlib 是Python内置库,Python 文档给它的定义是 Object-oriented filesystem paths(面向对象的文件系统路径).path ...
- 开源流媒体Red5-编译和部署
源码下载地址:https://github.com/Red5/red5-server 使用工具:IntelliJ IDEA 下载源码后直接用IDEA打开,等待全部加载完成后 编译看是否报错,应该没什么 ...
- Docker 01 - CentOS 7 中安装 Docker 的详细步骤
目录 1 初识 Docker 1.1 Docker 原理简介 1.2 Docker 核心概念 2 安装 Docker 2.1 查看系统内核版本 2.2 更新 yum 包 2.3 安装软件包 2.4 向 ...
- android studio 开发环境的搭建
步骤如下: 下载安装配置JDK(注意配置环境变量JAVA_HOME Path CLASSPATH) 从官网下载Android Studio(可以下载带有SDK版本的) 安装Android Studio ...
- Golang 接口与反射知识要点
目录 Golang 接口与反射知识要点 1. 接口类型变量 2. 类型断言 3. 鸭子类型 4. 反射机制 5. reflect 包 TypeOf().ValueOf() Type().Kind() ...
- flexible.js分析--JavaScript
//立即执行函数 (function flexible(window, document) { // 获取的html 的根元素 var docEl = document.documentElement ...
- .net core 3.0 Signalr - 09 待改进&交流
## 个人心得 写博客真的比写代码累,膜拜那些坚持写博客的大佬! 有时候零散的片段比较多,没写之前感觉有千千万万要写的东西,实际写的时候发现, 好像这个没啥说的,然后就帖了个图,或者一笔带过了 ## ...
- 主流视觉SLAM、激光SLAM总结
SLAM预备知识 SLAM for Dummies 全文总结 视觉里程计 卡尔曼滤波推导 MonoSLAM MonoSLAM:Real-Time Single Camera SLAM全文总结 PTAM ...
- 我的mongoDb之旅(二)
题序:上一回,咱们简单的操作了一些增减改查的操作,这一次,再来进行一场奇妙之旅 一.案例讲解 (1).字段有值与没值时的单条数据 第一条数据title这个字段(mysql用久了,习惯这么叫了)是没有数 ...
- 【Git初探】Git中fatal: Not a git repository (or any of the parent directories): .git错误的解决办法
今天用git bash更新项目时遇到了无论使用什么命令都会报fatal: Not a git repository (or any of the parent directories): .git的情 ...