windows远程登录Linux几种方式.

来源:http://blog.csdn.net/u010355144/article/details/45541107

命令行方式:telnet,ssh(客户端可以用putty、SecureCRT、SSH Secure Shell Client等SSH 客户端软件,输入您服务器的IP地址,并且输入登录的用户和密码就可以登录了。我常选择的客户端软件是putty。)

图像用户界面:vnc,

 

1.ubuntu 下telnet服务安装配置                            另参见具体设置

下面我们来对Ubuntu Linux telnet的安装和设置进行一下讲解。首先我们需要加载telnet的服务,之后对于root等有关方面进行设置。

  在Windows系统中,telnet的配置相对简单一些。

       那么在Ubuntu Linux中的telnet的设置就相对比较麻烦了。不少朋友都对这个安装过程不熟悉。没有关系,这里我们就来对Ubuntu Linux telnet的安装设置进行一下讲解。

  1. sudo apt-get install xinetd telnetd

  2. Ubuntu Linux telnet安装后,系统也会有相应提示:

  sudo vi   /etc/inetd.conf并加入以下一行(没有这个文件就会新建一个,没关系的,下同)

  telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd

  3. sudo vi   /etc/xinetd.conf并加入以下内容进行下一步的Ubuntu Linux telnet设置:

  # Simple configuration file for xinetd

  #

  # Some defaults, and include /etc/xinetd.d/

  defaults

  {

  # Please note that you need a log_type line to be able to use log_on_success

  # and log_on_failure. The default is the following :

  # log_type = SYSLOG daemon info

  instances = 60

  log_type = SYSLOG authpriv

  log_on_success = HOST PID

  log_on_failure = HOST

  cps = 25 30

  }

  includedir /etc/xinetd.d

  4. sudo vi /etc/xinetd.d/telnet并加入以下内容:

  # default: on

  # description: The telnet server serves telnet sessions; it uses

  # unencrypted username/password pairs for authentication.

  service telnet

  {

  disable = no                                             

  flags = REUSE

  socket_type = stream

  wait = no

  user = root

  server = /usr/sbin/in.telnetd

  log_on_failure += USERID                    

  }

  5. 重启机器或重启网络服务sudo /etc/init.d/xinetd restart

  6. 使用telnet客户端远程登录即可进行非root用户访问.

  7.使用root登录:

  mv /etc/securetty /etc/securetty.bak 这样root可以登录了.也可这样:

  修改/etc/pam.d/login这个文件.只需将下面一行注释掉即可.

  #auth required lib/security/pam_securetty.so

 

 8. Ubuntu Linux telnet的详细配制/etc/xinetd.d/telnet

  编辑推荐

  TCP/IP协议专题

  TCP/IP(传输入控制地议/网际协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与..

  文章摘要:下面我们来对Ubuntu Linux telnet的安装和设置进行一下讲解。首先我们需要加载telnet的服务,之后对于root等有关方面进行设置。

  service telnet

  {

  disable =no

  bind =192.168.1.2

  only_from=192.168.1.0/24

  #上面这两行说明仅提供内部网段!

  Instance =UNLIMITED

  Nice =0

  Flags =REUSE

  socket_type=stream

  wait =no

  user =root

  #server =/usr/sbin/telnetd

  server =/usr/sbin/in.telnetd

  server_args =-a none

  log_on_failure +=USERID

  }

  service telnet

  {

  disable =no

  bind =140.116.142.196

  only_from=140.116.0.0/16

  no_access=140.116.32.

  #上面三行设置外部较为严格的限制

  instance =10

  umask =022

  nice =10

  flags =REUSE

  socket_type=stream

  wait =no

  user =root

  #server =/usr/sbin/telnetd

  server =/usr/sbin/in.telnetd

  log_on_failure +=USERID

  }

  9.加设防火墙iptables:

  如果想要针对192.168.0.0/24这个网段及61.xxx.xxx.xxx这个IP进行telnet开放,可以增加下面几行规则:

  /sbin/iptables -A INPUT -p tcp -i eth0 -s 192.168.0.0/24 --dport 23 -j ACCEPT

  /sbin/iptables -A INPUT -p tcp -i eth0 -s 61.xxx.xxx.xxx --dport 23 -j ACCEPT

  /sbin/iptables -A INPUT -p tcp -i eth0 --dport 23 -j DROP

  10.Ubuntu Linux telnet最后一项设置,加设防火墙/etc/hosts.allow(deny)机制:

  上面开放了192.168.0.0/24这个网段,但是如果您只想让其中的192.168.0.1~192.168.0.5进入,可以设置如下 :

  vi /etc/hosts.allow

  in.telnetd:192.168.0.1,192.168.0.2,192.168.0.3,192.168.0.4,192.168.0.5:allow

 
 
 

转自:http://blog.csdn.net/zjf280441589/article/details/17408991

引言:

Linux大多应用于服务器,而服务器不可能像PC一样躺在办公室里,它们是放在IDC机房的,所以我们平时登录Linux系统都是通过远程登录的。Linux系统中是通过ssh服务实现的远程登录功能。默认ssh服务开启了22端口(telnet是23端口),而且当我们安装完系统时,这个服务已经安装,并且是开机启动的。所以不需要我们额外配置什么就能直接远程登录linux系统。Ssh服务的配置文件为/etc/ssh/sshd_config,你可以修改这个配置文件来实现你想要的ssh服务。比如你可以更改启动端口为36000.

为什么不用Telnet?telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。

 

1、ssh的安装

sudoapt-get install ssh

 

2、生成密钥

ssh-keygen

 

中间过程会提示你存放密钥的地方Enterfile in which to save the key (/home/gavin/.ssh/id_rsa):我们选择默认,直接回车;

然后会提示Enterpassphrase (empty for no passphrase):设置一个进入私钥的密码,在后边导入id_rsa到puttygen会用到,设置一个自己容易记又不会让人轻易破解的就可以了;

 

上述过程执行完毕后会生成两个文件,一个是id_rsa(私钥),一个是id_rsa.pub(公钥);

这里将公钥改名为authorized_keys:

cd .ssh

mv  id_rsa.pub  authorized_keys

 

3、修改配置文件(/etc/ssh/sshd_config)

sudo  vim /etc/ssh/sshd_config

 

其中有这么一行#AuthorizedKeysFile %h/.ssh/authorized_keys,把前面的#去掉即可;

 

4、到windows平台将先前生成的私钥id_rsa,转换成putty所识别的格式(*.ppk),得到文件id_rsa.ppk.

1)把linux上生成的id_rsa拷贝到windows平台下;

2)下载puttygen.exe,(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)然后打开,我们要让它帮我们做个通行证,生成id_rsa.ppk;

详细步骤:

a)选择“load”,载入以保存好的私钥文件:

b)弹出的对话框里把“文件类型”换成“所有文件”然后选中我们从ubuntu服务器上生成的id_rsa文件;

c)接着,它会提示你输入密码,这不是你linux用户密码,而是前面下划线上的私钥密码;

d)其他的选项直接默认就好了,设置完成之后,点击"saveprivate key",注意(格式为*.ppk)因为putty只识别自己做的钥匙;

(注意:这个文件名字就直接用id_rsa.ppk就可以了,不要再改了)

 

5、windows上启动putty,进行如下配置

1)Session-Logging-Hostname:填上你的linux的IP地址

(附:在Linux上用ifconfig命令获取,内容是inet之后的那一串数字)

2)Windows-Translation-在下拉菜单里选上UTF-8。

(这儿软件一般默认的就是UTF-8,不过最好还是确认一下,如果不是的话,登录后将会出现中文乱码)

3)Connection-Data - Auto login username:填上你登录Linux时用的用户名。

4)Connection-SSH-Auth    Private key file for authentication:选上id_rsa.ppk;

 

然后点击open,按照提示输入私钥密码即可访问。

 

附:密钥认证机制远程登录linux

SSH服务支持一种安全认证机制,即密钥认证。所谓的密钥认证,实际上是使用一对加密字符串,一个称为公钥(publickey),任何人都可以看到其内容,用于加密;另一个称为密钥(privatekey),只有拥有者才能看到,用于解密。通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥来猜测密钥却十分困难。ssh的密钥认证就是使用了这一特性。服务器和客户端都各自拥有自己的公钥和密钥。

 
 
 

2.Ubuntu上VNC 配置.      

 

 一)利用VNC实现Windows远程访问Linux服务器小结(包括对虚拟机的远程访问+fedora 12)

 

一、vnc view访问在vmw虚拟机上的linux

Linux服务器架设在VMware之上的虚拟机,那么可以直接使用VMware自带的vnc,而不用自己安装,只要在VMware的设置中将远程显示的选项打开,指定一个端口和密码就可以了,如下图所示:

 

再在windows中下载vnc veiw 地址为http://www.realvnc.com/products/free/4.1/winvncviewer.html

使用即可。

 

点击下载好的vnc-4_1_3-x86_win32_viewer.exe输入宿主机器的IP:桌面号或IP:5900+桌面号

 

在vnc veiw中输入在虚拟机设置的密码

 

点击OK成功后显示如下所示

 

 到此 windows通过vnc访问在宿主机器虚拟机上的linux(fedora)完成。

 

二、vnc veiw访问在linux(非通过虚拟机)

 vnc的安装和使用

我的环境是被控端 fedora 12 ,主控端 win xp

1、下载vnc server、vnc view

vnc server 下载地址:http://www.realvnc.com/cgi-bin/download.cgi

 vnc view 下载地址 :http://www.realvnc.com/products/free/4.1/winvncviewer.html

 

2、安装

在linux 下安装

[root@fengge lijing]# rpm -i /home/lijing/Soft/vnc-4_1_3-x86_linux.rpm

可能提示以下错误

/Soft/compat-libstdc++-296-2.96-141.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4ebfc273

 

这是因为缺乏依赖包的原因,那么下载compat-libstdc++-296-2.96-141.i386.rpm

下载地址:

http://rpm.pbone.net/index.php3/stat/4/idpl/13581495/dir/fedora_10/com/compat-libstdc++-296-2.96-141.i386.rpm.html

安装compat-libstdc++-296-2.96-141.i386.rpm后再安装vnc server
[root@fengge lijing]# rpm -i /home/lijing/Soft/compat-libstdc++-296-2.96-141.i386.rpm --force --nodeps
warning: /home/lijing/Soft/compat-libstdc++-296-2.96-141.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4ebfc273
[root@fengge lijing]# rpm -i /home/lijing/Soft/vnc-4_1_3-x86_linux.rpm

Checking for perl... [OK]
Checking for uname... [OK]
Checking for xauth... [OK]

 

3、执行vncserver命令: 
[root@fengge lijing]# vncserver 

You will require a password to access your desktops.

Password:         --输入密码
Verify: 登录vncserver密码

 

New 'fengge:1 (lijing)' desktop is fengge:1  注意这边的1,为桌面编号(即显示号)

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/fengge:1.log

 

4、在win运行vnc view (192.168.8.169:1或192.168.8.169:5901都是可以的,但192.168.8.169:5901不行(会出现connection refused的错误)

 

点击OK后即可登录。

 

三、vnc使用及注意事项

1、vnc view登录时提示 unable to connect to host:Connection refused(10061)

那么要设置被控机linux的远程桌面及防火墙

 

防火墙可以添加vnc的端口或直接关闭。

 

2、设置VNC的连接密码。
    #vncpasswd   (输入VNC连接密码)
    注:如果你现在不设置密码,当你用vncserver启动vnc服务时会提示你设置密码。
3、启动VNC服务。
    #vncserver   (启动vnc服务器)
4、关闭VNC服务。
    #vncserver -kill :1  (关闭VNC服务器)
    注意:kill和:1之间有一个空格。1与上面的对应

5、启动 停止 重启

    #service vncserver start/stop/restart

 

二)Ubuntu下vnc4server

Ubuntu下设置VNCServer(有vnc4server和vncserver本文以vnc4server讲解

Virtual Network Computing(VNC)是进行远程桌面控制的一个软件。客户端的键盘输入和鼠标操作通过网络传输到远程服务器,控制服务器的操作。服务器的图形界面通过网络传输会客户端显示给用户。给你的感觉就像直接在操作本地计算机一样,只是所有的程序和命令都是在服务器端执行。
1、使用快捷键"Ctrl+Alt+T"打开一个终端窗口Terminal window


2、下载 vnc4server :
    sudo apt-get install vnc4server

3、启动vnc4server:
    vnc4server
此时系统会提示你输入密码,在通过客户端链接时将会用到这个密码。//可以使用vncpasswd命令改密码,不用加sudo

    输入完密码后你将看到类似下边的提示:

New '****3 (****)' desktop is ****:3 (****代表主机名)    (不一定都是3哦,代表端口号)

Take notice of the number after the colon (, in this case it is "3."

   启动完vnc4server后在你的主目录下将会产生一个.vnc的目录。
   此时就可以通过vnc客户端链接到服务器了。

首次输入vncserver会提示输入vnc登陆密码,设置完成之后,产生如下信息:

 New 'hp-Compaq-Presario-CQ45-Notebook-PC:1 (hp)' desktop is hp-Compaq-Presario-CQ45-Notebook-PC:1 
Starting applications specified in /home/hp/.vnc/xstartup 
Log file is /home/hp/.vnc/hp-Compaq-Presario-CQ45-Notebook-PC:1.log 
主要的意思是vncserver产生了一个新的桌面,其中的:1是端口号,用于vnc客户端远程连接端口的


4、停止一个vnc4server
    vnc4server -kill :3       (kill后面有个空格再是冒号)
   根据你启动时获得的数字替换此处的3。

注释:运行vncserver -kill :1(1是刚才申请的桌面编号) 
PS:注意这里-kill之后需要加空格,本人就是因为漏了空格不仅没有能够成功关闭端口1的vncserver,反而又启动了一个新的vncserver端口 操作成功之后会出现如下信息:Killing Xvnc4 process ID 3913


5、打开 .vnc/xstartup 文件并编辑:  
    gedit .vnc/xstartup    (真正位置在/home/jason/.vnc/xstartup)  如果一开始没有这个配置文件,可以先启动vncserver -geometry 1280x1024 -depth 24 -cc 4 然后 vncserver -kill :1一下,就能生成一个默认的文件啦。
    文件看起来将是这样的:
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# 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 &


6、修改 .vnc/xstartup文件以图形化访问,如果不修改xstartup文件就在客户端下访问则会出现下面这样的界面(只有一个终端界面,但是也能从终端界面启动图形化界面应用,到那个图形化应用中进行执行。要切换应用,可以通过Alt+Tab)

是在不影响linux本地机器上的桌面,单独开了一个桌面,两个桌面之间互不影响。

这步必须要


    

取消unset和exec开始的行的注释,注释以xsetroot,vncconfig,xterm和twm开始的行。执行后看起来像这样:
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
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 &

 

我们需要将最后一行“x-window-manager &”改为我们自己的Ubuntu图形界面服务,那么改成什么呢?这就要看你Ubuntu是什么桌面环境了,Ubuntu有gnome(一般是这个)、KDE、Unity等桌面环境

  • 如果是gnome桌面,改成gnome-session &
  • 如果是KDE桌面,改成startkde &
  • 如果是Unity桌面,首先去 /usr/share/gnome-session/sessions/下看桌面session的名称,如果是ubuntu-2d,则将最后一行改为:
    export STARTUP="/usr/bin/gnome-session --session=ubuntu-2d"
    $STARTUP
如果上面出现 灰屏+鼠标变X号

export XKL_XMODMAP_DISABLE=1                                                                                可以注释掉
# unset SESSION_MANAGER                                                                                           可以注释掉
# exec /etc/X11/xinit/xinitrc                                                                                                  必须注释掉这个,这个是解决灰屏+鼠标变X号的关键
unset DBUS_SESSION_BUS_ADDRESS                                                                          可以注释掉(有时候注释掉,会出现灰屏+鼠标变X号)

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup                                                            Ubuntu上没有/etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources                                               Ubuntu上没有$HOME/.Xresources

x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &    可以不要
gnome-panel &                                                                                                               任务栏等bar在桌面上 !!! 
gnome-settings-daemon &                                                                                   感觉没啥用呢
x-window-manager &                                                                                       窗口管理器
nautilus &                                                                                         文件管理器(但是不会出现任务栏等bar在桌面上) 可以不要,可以通过gnome-panel上的Places入口调出。
gnome-terminal &                                                                                       不是一种x-terminal-emulator 所以不可以省略(gnome-terminal.wrapper,这个才是一种x-terminal-emulator) 可以不要,可以通过右键桌面出来的菜单Open Terminal来调出。

 

7、修改/etc/X11/xinit/xinitrc文件的许可权限,使其可执行:
    sudo chmod  755  /etc/X11/xinit/xinitrc


8、启动vnc4server: (这边必须要重启(因为之前的被我们在第4步给关了),第6步才能生效)
    vnc4server
    注意:记住此处冒号后提示的数字

  vncserver -geometry 1600x970 可以改变分辨率,不然不大的一块区域。(且区域启动后,好像就不好修改了)

      vncserver -geometry 1280x1024 -depth 24 -cc 4   24位深,4为真彩
9、用windows电脑登录VNC

方法一: 使用vnc viewer登录这台服务器: http://www.realvnc.com/下载  (这个可行)
   在VNC viewer中中输入:  ip地址:桌面号 (注意桌面号是开启vnc时返回的那个数字(第8步)) 或 ip地址:端口号 (注意端口号是开启vnc时返回的那个数字(第8步).其实这个数字加上5900作为端口号),点击连接. (注意桌面号或端口号一定要)

   在TightVNC中,只能输入ip地址:端口号

   在按照提示输入你在第三部输入的vncserver的密码,成功进入远程桌面。

 

方法二:打开远程桌面连接

           选择"sesman-Xvnc"-->输入"用户名和密码"(ubuntu用户的密码)-->回车,成功登录到Ubuntu 14.04桌面,现在可以进行远程操作了。(应该这个不行吧!?)

    或者

           选择 选择"vnc-any"-->输入"Ip地址和密码"(vncserver的密码)-->回车,成功登录到Ubuntu 14.04桌面,现在可以进行远程操作了。

 

10、若前面执行失败导致在VNC下看不到图形界面,鼠标变成"X"形状,请查看第七条是否执行过,同时将刚建过的VNCServer删掉,vncserver -kill :1(1代表前面启动的vncserver序号)

 

11、Ubuntu 10.10下增添了对Windows键的定义,在里面被定义为Super键,当用户在VNC下按下字母"d"时,会被错误的当做返回桌面的快捷方式导致d无法被输入,此时可修改快捷键方式来避免此bug,新打开一个终端,在里面输入:gconf-editor,这样会弹出一个对话框,到“Apps->Metacity->Global keybingdings"中找“show desktop”,将其默认值<Super>D改为<Ctl><Alt>D即可。

转载:http://www.cnblogs.com/ljjphysics/archive/2011/09/13/2175005.html

注:

问题一   vnc使用及注意事项

1、vnc view登录时提示 unable to connect to host:Connection refused(10061)

那么要设置被控机linux的远程桌面及防火墙  在http://blog.csdn.net/weivs929/article/details/6218624

防火墙可以添加vnc的端口或直接关闭。

 

3.Ubuntu上rdp配置(不同于VNC方式).      

一、安装Xrdp

Windows远程桌面使用的是RDP协议,所以ubuntu上就要先安装Xrdp,在ubuntu软件中心搜索xrdp安装。

安装xrdp的同时会自动安装vnc4server,xbase-clients组件

或者终端命令行输入安装: sudo apt-get install xrdp vnc4server xbase-clients

二、配置xrdp设置

  需要通过xrdp连接到桌面,需要正确配置相关信息并填充到.xsession文件(针对每个用户)或/etc/startwm.sh(针对所有用户),输入如下命令

  echo unity>~/.xsession

  或者

  sudo sed -i.bak '/fi/a #xrdp multi-users \n unity \n' /etc/xrdp/startwm.sh

 

三、安装xfce4
  $sudo apt-get install xfce4

  或者   

  sudo apt-get install xubuntu-desktop    这个软件比较大,总计需要260M。

四、配置xfce4

  echo "xfce4-session" >~/.xsession
  创建.xsession文件并写入内容。

 

  这样之后,网上很多做法就已经结束了,但是我使用远程桌面连接mstsc.exe连接的时候,仅仅显示connecting to sesman ip127.0.0.1之后就没有反映了,应该继续连接ok才对。这样,继续:
  继续配置xfce4
    sudo vi /etc/xrdp/startwm.sh
    在. /etc/X11/Xsession前一行插入xfce4-session

  或

    sudo vim /etc/xrdp/startwm.sh 把最下面的test和exec两行注释掉,添加一行 gnome-session

  重新启动xrdp

         sudo  service  xrdp  restart

五、windows下无法通过VNC客户端软件远程连接Ubuntu14.04的桌面解决方法:

VNC客户端不支持加密。任何连接到远程桌面共享服务器的尝试都将导致No matching security types错误。也是靠这边的把 require encrytion 关闭 来解决的。

  1、安装dconf-editor

    sudo apt-get install dconf-editor
      2、运行dconf-editor调整(注意一定要当前用户来运行,不能加sudo),并访问如下配置路径

  $dconf-editor
          org > gnome > desktop > remote-access  ->require encrytion 关闭

                

        或

    dconf write /org/gnome/desktop/remote-access/require-encryption false

    或

    dbus-launch --exit-with-session dconf write /org/gnome/desktop/remote-access/require-encryption false   在上面那条不能用于ssh的情况下  跟下面的命令效果一样。

    或

    gsettings set org.gnome.Vino require-encryption false    跟上面的命令效果一样。  可用于Ubuntu 推荐!

      如果输出警告:GLib-GIO-Message: 10:19:43.137: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.
      可以先执行export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules/然后再执行。

      确认已禁用远程服务器上的加密

        $ gsettings list-recursively org.gnome.Vino | grep encrypt 
      参见:https://www.jianshu.com/p/65f19e1c20d9 Ubuntu18.04.2LTS配置vnc+frp内网穿透实现桌面远程访问

  

    使用tunnel 隧道技术来进行加密存取  这个我没试成功?

由于vnc是数据传输是明文,因此可以通过隧道技术来加密传输过程,在本地机器上执行如下命令:
在host上
ssh -L 5901:127.0.0.1:5901 -N -f -l username remoteIp
然后再打开VNC的客户端

  3、/usr/lib/vino/vino-server --sm-disable start

  4、see "settings --> sharing" again

六、vino-server方式的配置(跟vnc方式不同)

在/usr/share/applications目录下打开”桌面共享”(即 desktop sharing)选项,进一步设定

桌面共享选项中首先要开启共享,关于是否允许其他用户控制,远程连接时是否需要本机确认,远程连接的密码等项目根据需要自己设定。如果需要从公网即外部网络访问此ubuntu计算机,需要开启”自动配置UPnP路由器开放和转发端口项目”(这个在fedora 12中是“ 配置网络为自动接受连接”)。

选项“你必须确认任何对该计算机的访问”来手动确认每个远程连接。另外,另一个有用的安全特性是通过选项“需要用户输入密码”创建一个确定的共享密码。这样当用户每次想要访问你的桌面时需要知道并输入密码。

一般建议如下图:

Windows远程桌面连接ubuntu 14.04图解设置教程
 

如果是13.04的话,以上已经完成设置了.

 

 或

settings-> Sharing->Screen Sharing:设置:

  Ubuntu在命令行开启远程桌面 (在终端执行下列三个命令即可) 推荐!
    gsettings set org.gnome.Vino enabled true      允许其他人查看您的桌面

    gsettings set org.gnome.Vino view-only false                   允许其他用户控制您的桌面

              gsettings set org.gnome.Vino prompt-enabled false        关闭对本机器的每次访问进行确认

    gsettings set org.gnome.Vino authentication-methods ['vnc']    如果选中Require the user to enter this password,则修改为 org.gnome.Vino authentication-methods ['vnc'] 且会修改org.gnome.Vino vnc-password 'keyring'中的keyring为一个加密的东西

    gsettings set org.gnome.Vino vnc-password 'keyring'                 这个怎么设置??

     gsettings set org.gnome.Vino use-upnp true               用于如果需要从公网即外部网络访问此ubuntu计算机

 

    gsettings set org.gnome.Vino require-encryption false    等同于dbus-launch --exit-with-session dconf write /org/gnome/desktop/remote-access/require-encryption false

    

重启Ubuntu:
sudo reboot

七、启动VNCServer服务

  sudo vncserver

/etc/init.d/vncserver

八、连接

方法1)xvnc方式    (但是,不需要开vnc4server)   我这种成功了!!!) 

可以使用端口5900这种都不需要安装vnc4server的,在Ubuntu上自带VINO(即自带的Desktop Sharing Preferences))  这种最推荐,看到的也是最像本地操作的窗口。

也可以自定义,例如5901(用于开vnc4server的时候)                                                                                                                    是本地操作的窗口的一个子集        

在windows电脑上我们打开远程桌面,输入ubuntu电脑的IP地址,会出现如下画面,Module项目选择使用的协议,这里选择vnc-any,输入IP地址,端口不变(5900),你设定的密码,即可远程连接到ubuntu 14.04桌面,如下图:


 

此方法不需要再安装一个xface的桌面。

只要输入密码就行了(不是vnc的密码。这个密码是在/usr/share/applications目录下打开”桌面共享”(即 desktop sharing)选项中的Require the user to enter this password。如果这项不选,则密码任意输入。如果选了,则必须写正确(可以空密码。然后登陆也必须输入空)。)。
 
方法2)xvnc方式(但是,不需要开vnc4server)我这种成功了!!!)  只能使用端口5900
使用远程桌面连接mstsc.exe,连接之后类型选择console
只要输入密码就行了(不是vnc的密码。这个密码是在/usr/share/applications目录下打开”桌面共享”(即 desktop sharing)选项中的Require the user to enter this password。如果这项不选,则密码任意输入。如果选了,则必须写正确(可以空密码。然后登陆也必须输入空)。)。
 
方法3)xvnc方式  (一登录进去,就自动退出。不能用)
 
使用远程桌面连接mstsc.exe,连接之后类型选择sesman-xvnc (这种是默认的)(我这种没有成功) 使用端口3350
填写
  用户名 Linux登陆账号用户名
  密码    Linux登陆账号用户名的密码(不是usr/share/applications目录下打开”桌面共享”(即 desktop sharing)选项中的Require the user to enter this password中的密码;也不是vnc的密码)
 
方法4)xvnc方式(一登录进去,就自动退出。不能用)
使用远程桌面连接mstsc.exe,连接之后类型选择sesman-X11rdp    使用端口3350
填写
  用户名 Linux登陆账号用户名
  密码    Linux登陆账号用户名的密码(不是usr/share/applications目录下打开”桌面共享”(即 desktop sharing)选项中的Require the user to enter this password中的密码;也不是vnc的密码)
 
2)在Linux上

  在本机搜索remmina,点击NEW新建一个连接 , Protocol中选中VNC-Virtual Network Computing。

       server中填写要连接的ip地址(ip地址端口5900),userName和password中分别填写连接的用户名和密码。

       点击连接即可。

            注意,要确保连接的机器是可以连接的。可以在桌面共享(Desktop Sharing)中进行配置
            

 
 
 
 

4.排错

# ps -ef | grep vnc
root 17330 1 0 16:18 pts/19 00:00:00 Xvnc4 :1 -desktop SPRITE-LINUX2:1 (root) -auth /root/.Xauthority -geometry 1280x1024 -depth 24 -rfbwait 30000 -rfbauth /root/.vnc/passwd -rfbport 5901 -pn -fp /usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/Speedo/,/usr/X11R6/lib/X11/fonts/misc/,/usr/X11R6/lib/X11/fonts/75dpi/,/usr/X11R6/lib/X11/fonts/100dpi/,/usr/share/fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi/ -co /etc/X11/rgb -cc 4

 

关于灰屏+鼠标变X号:

因为vncserver找不到指定的图形化软件 例如nautilus等
0)这个可行的

# Uncomment the following two lines for normal desktop:
export XKL_XMODMAP_DISABLE=1
unset DBUS_SESSION_BUS_ADDRESS
#unset SESSION_MANAGER
#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" &
#xterm -bg wheat -sb -sl 4096 -geometry 100x24+0+0 -rightbar -fn "-misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1" -e `pwd`/console.sh &
gnome-panel &
gnome-settings-daemon &
x-window-manager &
#gnome-session &
nautilus &
gnome-terminal &

1)

sudo update-alternatives --all
通过查找vnc关键字,查到:

There is only one alternative in link group vncconfig (providing /usr/bin/vncconfig): /usr/bin/vnc4config
Nothing to configure.

There are 2 choices for the alternative vncpasswd (providing /usr/bin/vncpasswd).

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/vnc4passwd 75 auto mode
1 /usr/bin/tightvncpasswd 70 manual mode
2 /usr/bin/vnc4passwd 75 manual mode


There are 2 choices for the alternative vncserver (providing /usr/bin/vncserver).

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/tightvncserver 70 auto mode
1 /usr/bin/tightvncserver 70 manual mode
2 /usr/bin/vnc4server 65 manual mode

There is only one alternative in link group x0vncserver (providing /usr/bin/x0vncserver): /usr/bin/x0vnc4server
Nothing to configure.

There are 2 choices for the alternative Xvnc (providing /usr/bin/Xvnc).

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/Xvnc4 75 auto mode
1 /usr/bin/Xtightvnc 70 manual mode
2 /usr/bin/Xvnc4 75 manual mode

 红色部分是出问题的地方,因为另个vncserver打架了。删掉一个就行啦,sudo apt purge tightvncserver

 

  2).重新启动下电脑,试一试。我就是各种配置之后,始终黑屏,重启电脑后OK。 


  3).sudo chmod a+x /etc/X11/xinit/xinitrc 在Ubuntu上有这个文件
    这也是种办法,不知是否是这句话生效了

    并确认/root/.vnc/xstartup是一个可执行文件,要确认是否有x权限

  4)如果Linux本地端已经启用Gnome或KDE图形环境,当VNC客户端连接服务器后,可能会只显示灰屏,没有正常启用图形环境。查看~/.vnc下的日志时会提示错误:You are already running a session manager。
    这时需要去掉xstartup文件中的
      # unset SESSION_MANAGER
      # exec /etc/X11/xinit/xinitrc
    这两行前的#,再重启vncserver。如果Linux本地端是init 3模式,则不需要修改这两行。

  5)

root@SPRITE-LINUX2:~# cat /root/.vnc/SPRITE-LINUX2:1.log          查看log文件,看看到底发生了什么错误 (这个是我的错误)  这种方法最好看到底哪里出问题了!!!
Xvnc Free Edition 4.1.1 - built Feb 25 2015 23:02:21
Copyright (C) 2002-2005 RealVNC Ltd.
See http://www.realvnc.com for information on VNC.
Underlying X server release 40300000, The XFree86 Project, Inc


Sun Dec 15 16:18:15 2019
vncext: VNC extension running!
vncext: Listening for VNC connections on port 5901
vncext: created VNC server for screen 0
error opening security policy file /etc/X11/xserver/SecurityPolicy            出现这个错误,无所谓。不影响vncserver
Could not init font path element /usr/X11R6/lib/X11/fonts/Type1/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/Speedo/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/misc/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/75dpi/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/100dpi/, removing from list!
Could not init font path element /usr/share/fonts/X11/75dpi/, removing from list!
Could not init font path element /usr/share/fonts/X11/100dpi/, removing from list!

 

字体问题

原因:vncserver默认寻找的X系统的字体路径在/usr/X11R6/lib/X11/fonts/下,但RHEL5却在/usr /share/X11/fonts/下,Ubuntu10.10却在/usr/share/fonts/X11/下
解决:

  方法1)

  sudo apt-get install xvfb xfonts-100dpi xfonts-75dpi xfonts-cyrillic xorg dbus-x11
      这个其实就是xfonts-100dpi xfonts-75dpi起了作用,但是只能把最后两条warning去掉。但是还是不能见到界面。
  或
$sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
 

  方法2)

  RHEL5:

    mkdir /usr/X11R6/lib
    cd /usr/X11R6/lib
    ln -s /usr/share/X11 X11

  Ubuntu:

    mkdir /usr/X11R6/lib/X11/
    cd /usr/X11R6/lib/X11
    ln -s /usr/share/fonts/X11/ fonts

 

 



 6)

vnc没有桌面
 

解决:

#yum grouplist
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
已安装环境分组:
   GNOME 桌面
可用的环境分组:
   最小安装
   基础设施服务器
   计算节点
   文件及打印服务器
   基本网页服务器
   虚拟化主机
   带 GUI 的服务器
   KDE Plasma Workspaces
   开发及生成工作站
可用组:
   传统 UNIX 兼容性
   兼容性程序库
   图形管理工具
   安全性工具
      开发工具
   控制台互联网工具
   智能卡支持
   科学记数法支持
   系统管理
   系统管理工具
完成

 

安装GNOME桌面:

yum groupinstall "GNOME 桌面"

安装完成后

init 5
 

防火墙设置开放
iptables -I INPUT -p tcp --dport 5901 -j ACCEPT 客户端方式
iptables -I INPUT -p tcp --dport 5801 -j ACCEPT 浏览器方式
/etc/init.d/iptable save

 

 

posted @ 2017-04-14 11:49  醉游  阅读(24273)  评论(0编辑  收藏  举报