远程登录这些事儿
一个windows 10系统更新,搞挂了我原来配置的好好的远程桌面登录,导致我再也无法愉快的在自己的双屏显示器上远程登录我的工作站了。搞了半天,没搞出什么名堂,那就好好学习一下各种远程登录技术吧。
远程桌面
远程桌面协议(Remote Desktop Protocol,缩写RDP)是一个多通道的协议,以便让本地计算机(客户端)连接上远程计算机(服务器端)。大部分的windows系统中都装有客户端软件,家庭版中没有安装服务器端软件。可恶就可恶在这里,怪不得我总是无法从我的工作站上使用远程桌面的方式登录我的笔记本呢,原来是因为笔记本的系统上没有远程桌面的服务器端软件。Windows真心不如Linux省心哇。
跨屏幕共享键鼠
典型的如synergy,背后技术不太清楚,不过现在变成收费软件了。
VNC
VNC(Virtual Network Computing)为一种使用RFB协议的显示屏画面分享及远程操作软件。
原理
VNC系统由客户端、服务端和一个协议组成。VNC服务端用于分享其所运行机器的屏幕,服务端被动的允许客户端控制它。
VNC协议是一个简单的协议,传送服务端的原始图像到客户端,客户端传送事件消息到服务端。
SSH
Telnet
Telnet协议是一种应用层协议,适用于互联网及局域网中,使用虚拟终端机的形式,提供双向、以文字字符串为主的命令行接口交互功能。属于TCP/IP协议族,是Internet远程登录服务的标准协议和主要方式,常用于服务器的远程登录,可供用户在本地主机运行远程主机上的工作。
原理
用户首先在计算机运行Telnet程序,连接至目的地服务器,然后输入帐号和密码以验证身份。用户可以在本地主机输入命令,然后让已连接的远程主机运行,就像直接在远程主机的控制台上输入一样。
值得注意的是,传统Telnet会话所传输的数据并未加密,帐号和密码等敏感数据容易被窃听,因此很多服务器会封锁Telnet服务,改用更安全的SSH。
应用
图书馆利用Telnet及互联网供读者进行续借、预约及查询记录的服务。
多数的纯文字BBS仍使用Telnet,部分甚至提供SSH服务,以提升安全性
路由器、交换器及大部分电信设备提供Telnet及SSH接口,以让用户连入进行设置及维护。
X窗口系统
X窗口系统(常称作X11、X等)是一种以位图显示的网络透明化窗口系统。
X的C/S模型
X基于C/S模式,在X窗口系统中,服务端可以在用户的计算机上运行,而在远程计算机上运行客户端。也可以反过来,服务端在远程计算机上运行,客户端在用户的计算机上运行。在X窗口系统中,服务端/客户端这一术语的使用是以程序为基准,而不是用户或硬件。远端的程序连接到本地的X服务器,那些远端的程序就视为客户端,本地的X服务器被视为服务端。
实际的远端客户端的例子有:在远端Linux计算机上运行计算密集的仿真程序,并把结果显示到本地的Windows桌面计算机;用一套显示器、键盘和鼠标控制同时运行在多台计算机上的图形化软件。
X的网络透明性
X窗口系统主从间的通信协议是网络透明的:服务端和客户端可以运行在同一机器或不同机器上,那些机器可以是相同或不同的硬件架构和操作系统。
设计原则
- 不要加入新的功能,除非你知道某些实际的应用程序会需要它
- 决定一个系统不是什么和决定系统给是什么同样重要。不要试图满足所有需求,而是使系统具备可扩展性,以便额外需求可以以向前兼容的方式实现
- 只有完全没实例,才会比只有一个实例来的更糟
- 如果没把问题弄清楚,不解决它也许会是最好的
- 如果预期要用90%的努力完成10%的工作,就用最简单的方法解决
- 尽量避免复杂性
- 提供机制而不是提供实现,用户界面的实现由实际应用者自主决定