ubuntu12.04安装vnc,并使用ssh加密隧道连接

    xiaoxiao2025-04-26  12

    服务器是Ubuntu 12.04,先在上面安装vnc。因为vnc默认是通过5901端口明文传输数据,远程连接的时候并不安全。一个可行的解决方案是,vnc走ssh的加密隧道,实现安全通信。

    1.安装vnc

    假设ubuntu服务器当前已经成功安装了ssh,我们能顺利连接。先安装vnc:

    sudo apt-get install vnc4server

    第一次启动,会要求输入8位密码:

    vncserver

    启动成功后,我们用vnc viewer连接过去可以看到此时并没有桌面。接着打开配置文件:

    sudo vi ~/.vnc/xstartup

    删除全部内容,直接将如下全部代码复制过去,保存:

    #!/bin/sh # Uncomment the following two lines for normal desktop: unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS # exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & # x-window-manager & export DESKTOP_SESSION=ubuntu-2d export GDMSESSION=ubuntu-2d export STARTUP="/usr/bin/gnome-session --session=ubuntu-2d" $STARTUP

    这时,关闭之前的,再重新启动一次就可以看到桌面了。

    vncserver -kill :1 vncserver -geometry 1280x800

    (-geometry可指定vnc桌面的分辨率,这里我设成我笔记本屏幕的分辨率)

    现在使用VNC Viewer就可以连接成功了,但此时它会提示当前连接没有加密。

    2.建立ssh 隧道

    这里我使用了Windows下的putty这个小软件,它是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。官方下载地址: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

    接下来会使用ssh tunnel,将服务器的5901端口映射到本地的5901端口,使得vnc连接时能使用这条加密tunnel。

    打开putty,在红线处输入服务器的ip。等全部设置完后,可以在save session处输入一个名字,点击save按钮。这样下次就不用再配置了,直接点击相应进行load就好。

    设置每隔10秒发送包过去,防止自动断开。

    设置tunnel,记得输入后要点击add。

    点击open,按提示输入账号密码连接成功后就可以了。

    3.vnc连接

    这时候我们使用vnc viewer直接连localhost:1就可以了。

    转载请注明原文地址: https://ju.6miu.com/read-1298478.html
    最新回复(0)