`

linux下的远程访问

阅读更多
之前一直用的是windows,远程也用得很少, 用也就只用一下windows的远程桌面。由于现在想把java开发环境转移到ubuntu 8.04,突然想在本本的windowsxp上远程到ubuntu进行一些简单的工作,立刻想到了公司里redhat9用的是vnc。
在我的ubuntu8.04上整vnc,弄了半天都没能弄出个桌面出来,按照网上的方法改来改去都无效,于是就想用其他的linux远程方式。
接下来几天,将linux的远程技术几乎看了个遍,也尝试了个遍, 有的成功了,有的失败了,不过总得来说已经能满足我的需要了,写个总结来鼓励一下自己。

linux远程访问方式:
在进行以下各类尝试之前, 务必先要安装xinetd;
下列顺序大概是从命令行到桌面,先是ubuntu自带的,然后是另外安装的。
sudo apt-get install xinetd
1)telnet, 远程命令行模式。ubuntu自带了telnet命令,但没有这个服务,因此先要安装:
sudo apt-get install telnetd
接着创建一个service文件:
vi /etc/xinetd.d/telnet
贴入如下内容
引用
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}

最后, sudo /etc/init.d/xinetd restart
这时在windows的命令模式输入telnet, 查看帮助, 试着登录ubuntu ok
telnet用起来超级简单,可惜安全不够, 明文密码传送, 因此已经不被推荐。

2)ssh,同样是远程命令行,但通过打开X11Forwarding,可以启动ui程序。
安装 sudo apt-get install openssh
配置和应用可以参考
http://wiki.ubuntu.org.cn/index.php?title=UbuntuHelp:SSHHowto&variant=zh-tw
http://wiki.ubuntu.org.cn/index.php?title=UbuntuHelp:AdvancedOpenSSH&variant=zh-tw
windows这边安装一个putty,就能以ssh方式远程到ubuntu了。
ssh建议用publickey+privatekey的方式来加强安全性,同时关闭密码验证以及禁止root登录。
sshd_config中设定:
引用
PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin yes

总体感觉ssh很好很强大,还具有良好的安全保障,有一种“有了ssh别无所求”的感觉。

3)ubuntu自带的远程桌面, 其实也是vnc的一种, 叫做vino-vnc,通过netstat -lutp可以查看到该网络服务的名称。开启非常简单,系统->首选项->远程桌面,够选 允许其他人查看您的桌面,允许其他人控制您的桌面,需要密码的话再够选 要求用户输入此密码。
这个远程桌面跟windowsxp下面的感觉很相似,都是单session的, 就是多个登入者都是同一个session,因此另外一个登入就会将前面一个挤掉。桌面效果还不错,就是感觉速度不如windows的远程桌面。
ubuntu自带了一个终端服务客户端和远程桌面查看器,前者功能比较强,可以连windows的远程桌面。如果只是简单的vnc连接,用远程桌面查看器 即可。

4)xdmcp,xwindows的linux一般都自带的,ubuntu自然也就自带。
可参考http://blog.guoshuang.com/?p=5497
设置很方便,只要开启即可:
打开gdm.conf文件:sudo pico /etc/gdm/gdm.conf
其中允许xdmcp:
[xdmcp]
....
Enable=true
取消注释:
RemoteGreeter=/usr/lib/gdm/gdmlogin
注意到Port=177,xdmcp通过该udp 177端口。
最后 sudo /etc/init.d/xinetd restart ,以生效

启动xdmcp之后,linux访问只需要 X :1 -query 192.168.100.xxx ;
对于ubuntu,可以在 系统->系统管理->登录窗口, 添加xdmcp远程访问 ,从而可以在登录时选择xdmcp远程。
对于windows, 需要安装x-win32或 xmanager。
从ubuntu本机xdmcp登录,以及windows上用xmanager连入,我都试了下, 桌面效果还不错, 就是觉得速度有些慢。

5)VNC,除了xdmcp,估计linux上应用最为广泛的就是vnc了。前面说到了ubuntu自带一个vino vnc, 可惜它是单session的,我想试试muliti session,那么real的vnc是支持的。 ubuntu上安装:
sudo apt-get install vnc4server
安装和配置可以参考http://tech.ccidnet.com/art/737/20070521/1086143_1.html
因为vnc默认情况下只能得到一个只有命令行的灰色背景界面,网上大部分办法都是修改xstartup的最后一行twm& ,gnome改成gnome-session &;其他的,kde就改成startkde &
可惜照样是得不到桌面,本以为是无望了,却突然发现root下面也有一个.vnc目录, 心想是不是要用root身份登入运行vncserver?
马上切换用户:sudo su
先修改/root/.vnc/xstartup(如果没有这个文件,先运行一次vncserver),最后一行注释掉twm&, 加上gnome-session &
最后,启动vncserver。
在windows上用tightvnc连入, 果然是可以了, 只是报了一个错误:gnome守护进程设置失败。

后来得知对于非root用户,可以这样改
修改~/.vnc/xstartup, 
引用

xrdb $HOME/.Xresources
xsetroot -solid navy # Choose your color
x-window-manager &
gnome-panel 2> /dev/null &
xterm &

之后就能看到vnc的桌面了,但只有一个panel, 就是桌面上方的那个菜单,不会报错。试验了一下,ui程序运行没问题。

总得来说,vnc的安装和配置从网上的资料来看很简单,但实际操作碰到了许多问题,比想象的麻烦, 费这么多功夫最后的效果还不如ubuntu自带的那个vino-vnc。

6)xvnc, 其实就是将xdmcp和vnc结合了一下,
看看这里的VNC Server with Login Screen via GDM
http://wiki.ubuntu.org.cn/index.php?title=UbuntuHelp:VNC&variant=zh-tw#General_Security
引用

$> sudo pico /etc/xinetd.d/vnc

service vnc
{
        disable = no
        socket_type = stream
        protocol = tcp
        wait = no
        user = nobody
        server = /usr/bin/Xvnc
        server_args = -inetd :1 -query localhost -broadcast -once -fp /usr/share/X11/fonts/misc/ -securitytypes=none -desktop=vnc://MyDesktop/
}

其实就是基于xinetd的一个服务,从server_args得知调用了X,就是xdmcp。这个服务开机会自动启动的。

试用的结果, 感觉跟xdmcp差不多。

7)freenx,nxserver的GPL版,应该就是xdmcp类似,由于采用了基于xwindows视频和图片的压缩技术,降低了对带宽的要求,因而速度也提高了不少。
介绍的话还是看看nxserver的产品介绍:http://www.nomachine.com/products.php

本来很看好很期待,结果经多次努力无效, 始终就是连接不上。
由于freenx在ubuntu的源里面没有,需要手动添加,我这里找了个介绍8.04怎样安装的文章:
http://ubuntuforums.org/showthread.php?t=467219
另外是ubuntu中文论坛的一个朋友的经验分享:
http://forum.ubuntu.org.cn/viewtopic.php?p=842056#842056

综合:
对于命令行而言, ssh绝对够用,sftp、scp、 ssh +X已经可以做大部分事情了, 安全可靠,而且也很简单;很多应用可以利用ssh的通道来提高安全性,比如ftp和vnc。
而对于远程到linux的桌面,xdmcp就还不错了,很常用又不用额外安装,vnc就无所谓装不装了,对于ubuntu来说自带的vnc好于其他vnc,可惜只能单session。freenx不知道效果会怎样,期待有更好的速度表现,决定等等freenx有升级后再去试试。
以我的试验感觉, 桌面方式总不太稳定, 很容易就让图形程序失去响应, 这也可能是linux的图形核心还不够完善。而命令模式很稳定, 毕竟年代久远,早就成熟了。因此对于远程而言需要首先考虑用命令模式, 这也有利于自己学习命令。

牢骚:
由于官方资料不齐,碰到的问题找google,找到的文章有些是感觉对不上, 不是一些配置文件找不到,就是文件路径不对;更有的文章,你照着做也出不来, 卸载再安装重新来过,还是不行。也罢, 够用就行, 十八般武艺不需要都会。
分享到:
评论
1 楼 chencang 2008-12-09  
谢谢,按照你的方法在xp下面通过VNC连接ubuntu8.04成功了

相关推荐

    远程访问linux桌面

    通过VNC远程访问Linux桌面不仅能够提高工作效率,还能满足不同场景下的需求。无论是技术支持人员还是普通用户,在需要远程访问Linux系统时,都可以考虑使用VNC。希望本文提供的指南能帮助大家顺利实现Linux桌面的...

    linux下mysql开启远程访问权限 防火墙开放3306端口

    主要为大家详细介绍了linux下mysql开启远程访问权限,防火墙开放3306端口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    linux 远程访问工具

    总之,SecureCRT作为一款强大的Linux远程访问工具,以其丰富的功能和高度的定制性,极大地提高了系统管理员的工作效率和安全性。通过熟练掌握SecureCRT的使用,我们可以更轻松地管理和维护远程Linux系统。

    windows、linux下sqlite远程管理工具及服务器

    windows、linux操作系统下都可以运行的SQLITE远程服务器。 只要在WINDOWS下运行sqlitemanage.exe就可以统一管理WINDOWS及LINUX平台下的SQLITE数据库,功能强大。 服务器运行方法: 1、WINDOWS下只要在数据库所在目录...

    jvisualvm远程访问Linux环境中tomcat

    最后,测试 jvisualvm 的远程访问,打开 jdk 中的 jvisualvm 远程访问 Linux 下的 Tomcat。 添加 Visual GC 插件 在 jdk 的 `bin` 目录下创建 `jstatd.all.policy` 文件,内容为: ``` grant codebase "file:${...

    linux远程桌面访问

    linux远程桌面访问

    Linux怎么设置PostgreSQL远程访问

     配置远 程连接PostgreSQL数据库的步骤很简单,只需要修改data目录下的pg_hba.conf和postgresql.conf。  pg_hba.conf:配置对数据库的访问权限,  postgresql.conf:配置PostgreSQL数据库服务器的相应的参数。...

    linux远程访问工具

    在IT行业中,Linux远程访问工具对于系统管理员和开发者来说至关重要,因为它们允许用户在本地计算机上操作远端Linux服务器,而无需物理访问这些服务器。在Windows操作系统中,有两个常用的工具,即PuTTY和WinSCP,...

    Linux远程访问工具

    本文将详细介绍标题提到的"Linux远程访问工具",包括Xshell和Xftp,这两个工具的6和7两个版本。 首先,让我们了解一下远程访问的概念。远程访问是指通过网络在不同地理位置的计算机之间进行通信,使得用户可以在...

    Linux远程访问工具(SSHSecureShellClient-3.2.9)

    Linux远程访问工具主要依赖于Secure Shell (SSH) 协议,它允许用户通过不安全的网络进行加密的数据传输。SSH Secure Shell Client 3.2.9 版本是专为这个目的设计的一款软件,它提供了安全的远程登录功能,使得用户...

    最新linux远程访问工具.zip

    本压缩包“最新linux远程访问工具.zip”提供了一些常用且方便的工具,如FTP(File Transfer Protocol)和XShell,这些工具使得对Linux系统的远程管理变得简单易行。 FTP是一种标准的网络协议,用于在计算机之间进行...

    linux下远程定时备份oracle数据库

    在Linux环境下,远程定时备份Oracle数据库是一项至关重要的任务,它能确保数据的安全性和业务的连续性。Oracle数据库作为企业级的数据库管理系统,其备份与恢复策略必须严谨且可靠。以下将详细阐述如何在没有安装...

    linux远程访问工具secure shell client

    SSH Secure Shell Client是一个用来替代TELNET、FTP以及R命令的数据加密工具,进行ssh 下载主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。 SSH是英文Secure Shell的简写...

    xming+putty在windows下远程访问linux.doc

    xming+putty 在 Windows 下远程访问 Linux 一、远程访问 Linux 的原理 Linux/Unix 的 X Window 具有网络透明性,X Window 系统里有一个统一的 Server 负责各个程序与显示器、键盘和鼠标等输入输出设备的交互,每...

    xmanager远程访问linux操作系统总结借鉴.pdf

    Xmanager远程访问Linux操作系统总结借鉴 本文档总结了使用Xmanager远程访问Linux操作系统的步骤和注意事项,涵盖了安装Xmanager、配置Linux系统、启动Xmanager、远程登录Linux等方面。 一、软件及系统平台 ...

    Windows系统远程访问Linux服务器宣贯.pdf

    Windows系统远程访问Linux服务器宣贯 本资源摘要信息主要介绍了使用Xmanager工具实现Windows系统远程访问Linux服务器图形化界面及终端的方法。同时也介绍了使用rdesktop工具实现Linux终端远程访问Windows桌面的方法...

    远程访问Linux软件

    远程访问Linux软件是IT行业中一个重要的工具类别,主要用于在本地计算机上通过网络接口与远端Linux服务器进行交互。这些工具提供了图形化界面或命令行界面,使得用户无需坐在服务器主机前也能进行各种操作,如系统...

    远程桌面远程控制linux

    XRDP允许Windows通过RDP协议远程访问Linux的X Window系统。安装XRDP及其依赖,然后在Windows上使用内置的远程桌面客户端连接。步骤如下: 1. 在Linux系统上安装XRDP和必要的图形环境,如Xfce。 2. 启动XRDP服务。 3....

    Linux远程访问工具,支持ssh服务

    在IT领域,Linux远程访问工具是系统管理员和开发者不可或缺的利器,它们允许用户通过网络对远程Linux服务器进行操作,而不必亲临现场。SSH(Secure Shell)服务是这种远程访问的首选方式,它提供了安全的加密通信,...

Global site tag (gtag.js) - Google Analytics