如何通过远程桌面音频重定向欣赏远程服务器上播放的音乐

如何通过远程桌面音频重定向欣赏远程服务器上播放的音乐,第1张

而另一个选项留在远程计算机(Leave at remote computer)则是在服务器上播放时声音输出仍旧在远程计算机的音箱或者Mic里。这个技术的大致原理呢,在远程计算机上(不管是Win2003的终端服务还是WinXP的远程桌面,实际是都是基于RDP的Windows Terminal Service),在客户段连接上之后,会启用一个Microsoft RDP 音频驱动程序(Microsoft RDP Audio Driver ),这个驱动的工作就是负责接管远程计算机上正在播放的音频,把它压缩之后作为网络流传递到客户端,再由RDP客户端把这个音频网络流发送到本地声卡上作为输出。但是,默认情况下,这个选项设置完成之后,在服务器上播放音乐时,却仍旧会提示声音设备没有正常安装或者被别的程序占用或者声音设备工作不正常而导致Meida Player无法播放文件。("Windows Media Player cannot play the file because there is a problem with your sound device There might not be a sound device installed on your computer, it might be in use by another program, or it might not be ing properly")。在检查音量控制时,可以看到Microsoft RDP Audio Driver是显示正常,而在系统的声音和音频设备里也能看到声卡设备都运转正常。如果出现这种情况,那么就是由于远程终端服务器的配置导致的。在远程终端服务器上,进入管理工具 -> 终端服务配置 -〉连接-〉RDP-Tcp 右键,属性,客户端设置,最下面有个禁用下列项目,把音频映射 的选项清楚,确定后退出重新远程登录到远程终端服务器上,再启动Media Player播放音乐,就能在你本机客户端上的耳机里听到音乐飘出来了。跟Win2003相反,在Windows XP里,这个选项默认是允许音频重定向到RDP客户端的。但是如果被不小心更改了,因为WinXP里没有终端服务配置这个管理工具,所以要改回来就相当麻烦了,需要在组策略对象编辑器里才能更改。运行-> MMC -> 文件 -> 添加/删除管理单元 -> 添加 -> 组策略对象编辑器 -> 添加 -> 本地计算机 -> 完成 -〉关闭 -> 确定, 回到MMC界面。选择 计算机配置-> 管理模板 -> Windows 组件 -> 终端服务 -> 客户端/服务器数据重定向,允许音频重定向,改成已启用,确定,退出MMC,重新登录即可。再加一段:Microsoft RDP Audio Driver(emulated),这个你在使用remote desktop时可以看到,前提是server端要有声卡,否则ms的这个驱动默认禁音,改了也没用,主要是directsound输出到哪里?

目前,远程连接服务器的类型有以下几种: 
① 文字接口的明文传输:Telnet、RSH为主,很少用到。 
② 文字接口的加密传输:以SSH为主,已经取代了上面的明文传输方式。 
③ 图形接口:XDMCP、VNC、XRDP等较为常见。 
这篇文章只为实战,不为普及概念性知识。所以我只讲解在工作中最常用到的技术SSH。关于SFTP技术和VNC技术,请查阅我的其他博客。 
好,先来看一下SSH的相关技术: 
SSH,英文全程是Secure Shell Protocol(安全的壳程序协议)。SSH是现在公司基本上都在使用的一种文字接口的加密传输技术,采用的是非对称秘钥系统。

对于SSH的原理,你们可以参考我的另外一篇博客,我把链接贴在这里: 
SSH原理

⑴来吧,我们先来查看一下sshd这个服务(这就是SSH的远程连接必须开启的服务,属于系统自带),注意,一般这个sshd服务是默认自动开启的。

如果想要重启怎么办呢? 
好吧,请看:

上面两种重启动的方法都是可以滴!

⑵直接远程登录主机的命令: 
ssh -f -o 参数 -p 非标准端口 账号@IP 命令 
其中: 
-f : 需要配合后面的命令,不登录远程主机直接发送一个命令过去 
-o 参数 : 主要的参数有: 
ConnectTimeout=秒数 : 连接等待的秒数,减少等待的时间。 
StrictHostKeyChecking=yes|no|ask:默认是ask,若要让public key主动加入到known_hosts, 则可以设置为no即可。 
-p : 如果sshd服务启动在非标准端口下,需使用此参数。

举例说明吧: 
① 直接登录到对方主机: 
如果是以root用户登录到对方主机,有如下两种登录方式:

注意:如果是普通用户登录,必须使用第二种加@的方式。

② 实现登录对方主机,执行命令后就离开的方式。例如:从远程主机上执行cat /etc/passwd命令把文件显示在本地主机上。

③ 不登录对方主机,让对方主机自己运行该命令,你立刻回到本地机器继续工作:

④ 删除known_hosts后,重新使用root连接到本机,会自动加上公钥记录

你一定会说,大骗子玩漏了吧?怎么没有自动加上公钥记录呢?怎么记录信息提示手机选择yes/no了呢?别着急,我们的“-o”参数要横空出世了!有了-o,再也不用选择yes|no了,而是自动被选择了yes而加入到~/ssh/known_hosts中。

看到了,这次没有提示让选择yes|no吧! 
⑤ SSHD服务器详细配置

Centos默认的SSHD服务其实已经算是很安全了,这里注意Centos 5X之后默认SSH协议版本都是V2也就是上图的Protocol 2,默认端口是 22,注意这些还不够,如果是真正工作中的服务器,建议取消root的登录权限:

把红框中的yes改为no就可以取消root用户的登录权限了。

下面来介绍一个很有用的技术,制作不用密码可立即登录的SSH用户。有人会说制作这个是用来干嘛的?你想一想,如果想要利用crontab来定时执行备份或者拷贝的任务,因为每次SSH连接都要输入对方主机密码,这是在crontab中无法执行的,那么怎么办?只有不需要输入密码才可以 *** 作。 
方法如下: 
① 客户端建立两把钥匙 
我们在客户端创建一个用户user1 *** 作,利用user1来远程服务器端的user2用户。下面我们以1921681118为客户端,以1921681121为服务端。 
首先在客户端建立两把秘钥 
命令如下:

需要注意: 
⑴ ~/ssh目录的权限必须是700 
⑵ id_rsa(私钥文件)的权限必须是-rw——-,且属主必须是当前登录用户,否则在未来秘钥比对的过程中,可能会被判断为危险而无法成功的以公私钥成对的机制来实现连接。 
以上两点一般情况下默认都是正确的。

② 将公钥文件数据上传至服务器端

③ 将公钥文件放置到服务器端的正确目录中,并保证文件名正确 
一定要把公钥文件内容附加到authorized_keys这个文件内, *** 作用户为服务器端用户

注意:切记authorized_keys这个文件的权限必须是644


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10627358.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存