0x00 引言
SSH(Secure Shell)又称为安全外壳协议,是目前较可靠且专为远程登录会话和其他网络服务提供安全性的协议,由于其加密而实现的安全特性,已经开始代替telnet、ftp、rlogin、rsh和rcp等传统协议。SSH主要被用来实现远程命令行控制,但是也有远程桌面的功能,然而在可视化方面没有VNC应用广泛。
VNC(Virtual Network Console)又称为虚拟网络控制台,它是一款基于UNIX和Linux操作系统的免费的开源软件。
0x01 SSH协议工具OpenSSH
OpenSSH是SSH协议的免费开源实现,这里介绍一下其在Ubuntu系统下的安装、使用以及一些实用技巧。
1 | 1 安装与使用 |
1、安装与使用
Ubuntu默认安装SSH的client端但没有安装server端,因此输入以下命令进行安装:
1 | sudo apt-get install openssh-server |
这边注意一点,新安装的OpenSSH默认是不能用root访问的,需要修改配置文件[1],这里就不详细解释了(留坑)。
安装完成后便可以直接连接目标机器:
1 | ssh (账户名)@(目标IP) |
然后根据需要填入该账号的密码即可登陆。
2、SSH可视化
3、root方式登录
4、免密远程登陆
5、免密远程拷贝
6、远程拷贝
使用工具scp能够远程拷贝文件
1 | # 在终端环境下运行 |
0x02 VNC
VNC包括以下四个命令:vncserver,vncviewer,vncpasswd,和vncconnect,大多数情况下用户只需要其中的两个命令:vncserver和vncviewer。另外,和SSH一样,实际上有很多软件都能实现VNC,包括vncserver和vncviewer都有各自的实现软件,关键之处就在于选对安装包,避免踩到多余的坑。
1 | 1 安装与使用 |
1、安装与使用
1.1、Windows平台-RealVNCserver
在Windows平台下,使用RealVNC官网[2]的VNCserver和VNCviewer即可,其安装教程可参考百度经验[3]。唯一与教程不同的地方是,server和viewer都需要登陆注册的邮箱,实际上和teamviewer差不多了。
1.2、Ubuntu-RealVNCserver
RealVNCviewer是目前用过的VNCvierver软件里最好用的,因此这里的所有教程均使用RealVNCviewer。而server端则有多种选择,这里使用RealVNCserver。
发现RealVNCserver在Ubuntu里的安装不需要登陆邮箱,可以直接输入Lisence,而且RealVNCviewer也不需要和服务端登陆一个邮箱(可能是该公司对于Linux版本还做的不是很完善),这里写一下安装过程。
1 | #从RealVNC官网下载Linux版本的RealVNCserver,在安装目录下打开终端并安装deb包 |
至此安装完成,然后需要对服务端的电脑做一些配置[4],可根据上述链接做配置。另外,注意客户端连接时在服务端会弹出允许远程桌面的窗口,点击允许才能继续。
虽然这种方法安装简单,但是存在很多问题:1)客户端的界面和服务端的界面是共用的,类似于QQ的远程桌面;2)配置过程麻烦,且登陆的时候在服务端还需要点允许;3)存在卡顿问题,即在客户端看视频的时候帧数很低;4)卸载方法[5]很繁杂。
1.3、Ubuntu-vnc4server
1.3.1 vnc4server安装与配置
相比于1.2节的服务端,现在要介绍一种优点更多的方法,即直接用apt-get的方式来安装。其安装过程可查阅教程[6],由于这种方式的重要性,这里也重复叙述一遍安装过程。
1 | #apt-get方式安装vncserver |
至此,安装完成,开始修改配置,所有的配置文件均在/.vnc隐藏文件夹下(需要先运行vncserver一次才会生成,如果实在不知道怎么建,就现在命令行执行vncserver),但是我们不使用非流程化的操作,还是自己去创建该文件夹,在/.vnc目录下新建xstartup文件(配置文件),其内容如下(这里有两个方案,第一种是亲自试验过可以的,第二种跑起来很卡):
1 | #=========方案一========== |
最后一步,添加配置文件的可执行权限:
1 | #为xstartup文件添加可执行权限 |
1.3.2 vnc4server使用
(1)开启服务端
在终端下直接运行下述命令,~/.vnc目录下会出现.log和.pid两个文件。
1 | #直接生成pid为1的远程桌面端口 |
(2)客户端访问
客户端访问实际上除了RealVNCviewer,还有其他的方式比如xvnc4viewer,只不过前者是界面比较友好的GUI软件,而后者是命令行形式(其实后者是和vnc4server配对,前者和RealVNCviewer配对)。
1 | #=========使用RealVNCviewer========== |
(3)关闭服务端
vncserver -kill :1
1.3.3、vnc4server自启动
首先确保vnc server已经装好,在/etc文件夹下,新建vncserver文件夹,在vncserver文件夹下新增两个文件startvnc.py和startvnc.sh。
(1)startvnc.py
1 | import sys |
(2)startvnc.sh:
1 | #!/bin/bash |
运行.sh,然后重启电脑。
1.4、Ubuntu-x11vnc
vnc4server确实能用,且特点是宿主机界面不跟随客户机(可以黑?),但是配置真的很烦。还有一种方法和1.2节中的Ubuntu-RealVNCserver效果一样,但是帧率似乎高了一些,并且我自己也写了一个脚本[7],直接运行即可且是开机自启动,但是注意:1)运行过程中需要输入希望配置的密码;2)运行结束会reboot。
0x03 TeamViewer
1 | 1 Ubuntu平台 |
1.1、安装TeamViewer
根据教程介绍[8],去teamviewer官网[9]下载最新版的teamviewer for linux。
1 | #安装deb包 |
1.2、设置开机自启动以及登录密码
根据教程介绍[10]。
1 | #停止teamviewer |
1.3、设置局域网联接
根据教程介绍[11]。
1 | #option->常规->网络设置->呼入的LAN连接->选择accept |
0x04 引用文献
[1]https://blog.csdn.net/xiao_yuanjl/article/details/79147314
[2]https://www.realvnc.com/en
[3]https://jingyan.baidu.com/article/d2b1d102b85a825c7e37d405.html
[4]http://www.cnblogs.com/xuliangxing/p/7642650.html
[5]https://askubuntu.com/questions/653321/how-to-uninstall-real-vnc-in-ubuntu-14-04
[6]https://blog.csdn.net/linuxshine/article/details/79972786
[7]https://github.com/JailbreakFox/Ubuntu14.04-LTS-sh/blob/master/Ubuntu14.04配置sh包/x11vnc.sh
[8]https://blog.csdn.net/qq_38451119/article/details/81369043
[9]https://www.teamviewer.com/zhcn/download/linux/
[10]https://blog.csdn.net/box172506/article/details/88016732
[11]https://blog.csdn.net/moshiyaofei/article/details/86431188