远程登录+外网登录(ADSL+路由器)(VNC && Telnet && SSH)(综合整理)

10 篇文章 0 订阅
8 篇文章 0 订阅
   今天想远程登录自己的linux。这样上机房课的时候就可以登录自己的linux。呵呵。用的是VNC来实现的。先是实现了局域网里的成功登录。但是要外网登录才有意义。然后因为宿舍里是用ADSL+路由器的上网方式。那么通过静态ip+端口映射即可实现外网登录。好。那么下来综合整理资料如下。(2012.05.28)。
   现在把这篇博客加入了telnet和ssh远程登录的内容。这篇总共介绍vnc telnet ssh这三种远程登录方式。关于外网登录的内容保留在VNC第9条中。(2012.05.31)。

一:VNC远程登录配置学习
   VNC (Virtual Network Computing)是虚拟网络计算机的缩写。VNC是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的。VNC是在基于UNIX和Linux操作系统的免费的开放源码软件,远程控制能力强大,高效实用,其性能可以和Windows和MAC中的任何远程控制软件媲美。
   VNC基本上是由两部分组成:一部分是客户端的应用程序(vncviewer);另外一部分是服务器端的应用程序(vncserver)。VNC的基本运行原理和一些Windows下的远程控制软件很相象。VNC的服务器端应用程序在UNIX和Linux操作系统中适应性很强,图形用户界面十分友好,看上去和Windows下的软件界面也很类似。在任何安装了客户端的应用程序(vncviewer)的Linux平 台的计算机都能十分方便的和安装了服务器端的应用程序(vncserver)的计算机相互连接。另外,服务器端 (vncserver)还内建了Java Web接口,这样用户通过服务器端对其他计算机的操作就能通过Netscape显示出来了,这样的操作过程和显示方式比较直观方便。

1.确认VNC是否安装 
默认情况下,Red Hat Enterprise Linux安装程序会将VNC服务安装在系统上。 
确认是否已经安装VNC服务及查看安装的VNC版本 
[root@localhost ~]# rpm -qa | grep vnc
tigervnc-server-1.0.90-0.17.20110314svn4359.el6.i686
libvncserver-0.9.7-4.el6.i686   ###这里为我自己的情况。这个无所谓。只要确定你的vnc安装即可。

2.启动VNC服务 
使用vncserver命令启动VNC服务,命令格式为“vncserver :桌面号”,其中“桌面号”用“数字”的方式表示,每个用户连个需要占用1个桌面 
启动编号为1的桌面示例如下 
[root@localhost ~]# vncserver :1 
You will require a password to access your desktops. 
Password: 
Verify: 
以上命令执行的过程中,因为是第一次执行,需要输入密码,这个密码被加密保存在用户主目录下的.vnc子目录(/root/.vnc/passwd)中;同时在用户主目录下的.vnc子目录中为用户自动建立xstartup配置文件(/root/.vnc/xstartup),在每次启动VND服务时,都会读取该文件中的配置信息。 
BTW:/root/.vnc/目录下还有一个“testdb:1.pid”文件,这个文件记录着启动VNC后对应后天操作系统的进程号,用于停止VNC服务时准确定位进程号。

3.VNC服务使用的端口号与桌面号的关系 
VNC服务使用的端口号与桌面号相关,VNC使用TCP端口从5900开始,对应关系如下 
桌面号为“1”  ---- 端口号为5901 
桌面号为“2”  ---- 端口号为5902 
桌面号为“3”  ---- 端口号为5903 
…… 
基于Java的VNC客户程序Web服务TCP端口从5800开始,也是与桌面号相关,对应关系如下 
桌面号为“1”  ---- 端口号为5801 
桌面号为“2”  ---- 端口号为5802 
桌面号为“3”  ---- 端口号为5803 
…… 
基于上面的介绍,如果Linux开启了防火墙功能,就需要手工开启相应的端口,以开启桌面号为“1”相应的端口为例,命令如下 
[root@localhost ~]# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT 
[root@localhost ~]# iptables -I INPUT -p tcp --dport 5801 -j ACCEPT 
这里只是暂时打开端口。重启就不会打开了。如何要让防火墙打开这个端口。执行完之后。执行:
[root@localhost ~]# service iptables save
这样ip过滤规则就可以保存在/etc/sysconfig/iptables中了。

4.测试VNC服务 
第一种方法是使用VNC Viewer软件登陆测试,操作流程如下    ###这里是我自己的内网ip。
启动VNC Viewer软件 --> Server输入“92.168.1.3:5901” --> 点击“OK” --> Password输入登陆密码 --> 点击“OK”登陆到X-Window图形桌面环境 --> 测试成功 
第二种方法是使用Web浏览器(如Firefox,IE,Safari)登陆测试,操作流程如下 
地址栏输入http://192.168.1.3:5801/ --> 出现VNC viewer for Java(此工具是使用Java编写的VNC客户端程序)界面,同时跳出VNC viewer对话框,在Server处输入“192.168.1.3:5901”点击“OK” --> Password输入登陆密码 --> 点击“OK”登陆到X-Window图形桌面环境 --> 测试成功 
(注:VNC viewer for Java需要JRE支持,如果页面无法显示,表示没有安装JRE,可以到http://java.sun.com/javase/downloads/index_jdk5.jsp这里下载最新的JRE进行安装) 

5.配置VNC图形桌面环境为KDE或GNOME桌面环境 
如果您是按照我的上面方法进行的配置的,登陆到桌面后效果是非常简单的,只有一个Shell可供使用,这是为什么呢?怎么才能看到可爱并且美丽的KDE或GNOME桌面环境呢?回答如下 
之所以那么的难看,是因为VNC服务默认使用的是twm图形桌面环境的,可以在VNC的配置文件xstartup中对其进行修改,先看一下这个配置文件 
[root@localhost ~]# vim /root/.vnc/xstartup 
将这个xstartup文件的最后一行修改为“startkde &”,再重新启动vncserver服务后就可以登陆到KDE桌面环境 
将这个xstartup文件的最后一行修改为“gnome-session &”,再重新启动vncserver服务后就可以登陆到GNOME桌面环境 
重新启动vncserver服务的方法: 
[root@localhost ~]# vncserver -kill :1 
[root@localhost ~]# vncserver :1 

6.配置多个桌面 
可以使用如下的方法启动多个桌面的VNC 
vncserver :1 
vncserver :2 
vncserver :3 
…… 
但是这种手工启动的方法在服务器重新启动之后将失效,因此,下面介绍如何让系统自动管理多个桌面的VNC,方法是将需要自动管理的信息添加到/etc/sysconfig/vncservers配置文件中,先以桌面1为root用户桌面2为oracle用户为例进行配置如下: 
格式为:VNCSERVERS="桌面号:使用的用户名桌面号:使用的用户名" 
[root@localhost ~]# vi /etc/sysconfig/vncservers 
VNCSERVERS="1:root 2:zz" 
VNCSERVERARGS[1]="-geometry 1024x768" 
VNCSERVERARGS[2]="-geometry 1024x768" 

7.修改VNC访问的密码 
使用命令vncpasswd对不同用户的VNC的密码进行修改,一定要注意,如果配置了不同用户的VNC需要分别到各自用户中进行修改,例如在我的这个实验中,root用户和oracle用户需要分别修改,修改过程如下: 
[root@localhost ~]# vncpasswd 
Password: 
Verify: 

8.启动和停止VNC服务 
1)启动VNC服务命令 
[root@localhost ~]# /etc/init.d/vncserver start 
2)停止VNC服务命令 
[root@localhost ~]# /etc/init.d/vncserver stop 
3)重新启动VNC服务命令 
[root@localhost ~]# /etc/init.d/vncserver restart 
4)设置VNC服务随系统启动自动加载 
第一种方法:使用“ntsysv”命令启动图形化服务配置程序,在vncserver服务前加上星号,点击确定,配置完成。 
第二种方法:使用“chkconfig”在命令行模式下进行操作,命令使用如下(预知chkconfig详细使用方法请自助式man一下)
[root@localhost ~]# chkconfig vncserver on 


9.外网登录
   其实还是蛮简单的。就是在路由器里做一下端口映射就可以了。让外网访问能够访问映射到自己的ip上。端口映射其实就是常说的NAT地址转换的一种,其功能就是把在公网的地址转翻译成私有地址, 采用路由方式的ADSL宽带路由器拥有一个动态或固定的公网IP,ADSL直接接在HUB或交换机上,所有的电脑共享上网。
  端口映射其实就是常说的NAT地址转换的一种,其功能就是把在公网的地址转翻译成私有地址, 采用路由方式的ADSL宽带路由器拥有一个动态或固定的公网IP,ADSL直接接在HUB或交换机上,所有的电脑共享上网。

   VNC远程登录学习就暂时总结到这里。以后可以在机房远程自己的电脑喽。哇哈哈。。
   现在在机房成功登录到自己到电脑。打开博客留下此言。呵呵。(2012.05.30)。

二:Telnet配置学习
1.确认telnet及telnet-server安装。如果木有安装请自行安装。

2.启动telnet服务
   *开启服务
方法一:使用ntsysv,在出现的窗口之中,将 telnet 勾选起来,然后按下 OK 即可 !
方法二:编辑 /etc/xinetd.d/telnet
#vi /etc/xinetd.d/telnet
[root@localhost ~]# vi /etc/xinetd.d/telnet
找到 disable = yes<==就是改这里,将 yes 改成 no 即可!服务预设是关闭的
   *激活服务
telnet 是挂在 xinetd 底下的,所以自然只要重新激活 xinetd 就能够将 xinetd 里头的设定重新读进来,所以刚刚设定的 telnet 自然也就可以被激活。
[root@localhost ~]# service xinetd restart

3.测试服务
[root@localhost ~]#telnet ip(或者hostname)
如果配置正确,系统提示输入远程机器的用户名和密码
Login:
Password:
注:默认只允许普通用户

4.设置telnet端口
#vi /etc/services
进入编辑模式后查找telnet(???怎样查找)
会找到如下内容:
telnet 23/tcp
telnet 23/udp
将23修改成未使用的端口号(如:2000),退出vi,重启telnet服务,telnet默认端口号就被修改了。

5.Telnet服务限制
如果原本的默认值你并不满意,那么你可以修改成比较安全一点的机制。假设你这个 Linux 是一部主机,而且他有两块网络接口,分别是对外的 192.168.0.1 与对内的210.45.160.17 这两个,如果你想要让对内的接口限制较松,而对外的限制较严格,你可以这样的来设定:
#vi /etc/xinetd.d/telnet
# 先针对对内的较为松散的限制来设定:
service telnet
{ disable    = no         <==预设就是激活 telnet 服务
bind       = 210.45.160.17    <==只允许经由这个适配卡的封包进来
only_from    = 210.45.160.0/24   <==只允许 210.45.160.0/24 这个网段的主机联机进来使用 telnet 的服务
.....
}
# 再针对外部的联机来进行限制
service telnet
{
disable     = no<==预设就是激活 telnet 服务
bind       = 192.168.0.1<==只允许经由这个适配卡的封包进来
only_from    = 192.168.0.0/16<==只允许 192.168.0.0 ~ 192.168.255.255 这个网段联机进来使用 telnet 的服务
only_from    = .edu.cn<==重复设定,只有教育网才能联机!
no_access    = 192.168.25.{10,26}<==不许这些 PC 登入
access_times  = 1:00-9:00 20:00-23:59 <==每天只有这两个时段开放服务
......
}

6.Telnet root用户的登入
root 不能直接以 telnet 连接上主机。 telnet 不是很安全,默认的情况之下就是无法允许 root 以 telnet 登入 Linux 主机的 。若要允许root用户登入,可用下列方法
[root @test /root]# vi /etc/pam.d/login
#auth required pam_securetty.so #将这一行加上注释!

# mv /etc/securetty /etc/securetty.bak
这样一来, root 将可以直接进入 Linux 主机。不过,建议不要这样做。还可以在普通用户进入后,切换到root用户,拥有root的权限!

三:SSH配置学习
SSH是一个用来替代TELNET、Rlogin以及Rsh的传统的远程登陆程序的工具,主要是想解决口令在网上明文传输的问题。为了系统安全和用户 自身的权益,推广SSH是必要的。SSH有两个不兼容的版本1.x,2.x!RedHat Linux 9将默认的远程管理服务设置成OpenSSH(一个ssh的替代产品)。不需要重新安装软件包!

1.配置openssh服务器
ssh的配置文件是/etc/ssh/ssh_config,一般不要修改!
   *启动服务器!
#ntsysv =>确认将sshd前面的勾已打上!
   *手工启动OpenSSH:
#service sshd start
#service sshd restart(重新启动)
   *停止服务器:
#service sshd stop

2.使用OpenSSH客户端
Redhat linux 9默认已安装了OpenSSH的客户端,客户端和服务器连接时,可以使用两种验证方式:基于口令的验证方式和基于密匙的验证方式!Windows下推荐使用SecureCRT或SSH Secure Shell非商业版.
   *基于口令的验证方式
这种验证方式要求用户输入用户名称和密码!若没有指定用户名称和密码,则默认使用当前在客户机上的用户名!
例1:直接登陆
[root@wljs /]#ssh 210.45.160.17
则登陆用户名为客户机当前用户名!
例2:指定用户名登陆
[root@wljs /]#ssh wwz@210.45.160.17
或: [root@wljs /]#ssh –l wwz 210.45.160.17
上面过程结束后,系统将会提示你输入用户名和密码!
   *基于密匙的验证方式
使用密匙的验证方式,用户先需要为自己创建一对密匙:公匙和私匙。(公匙用在要登陆的服务器上)
OpenSSH公开密匙的密码体制有RSA、DSA!
创建密匙:
例:[root@wljs /]#ssh-keygen –t rsa
回车后,要求输入使用密匙时的口令!这样便生成了公匙和私匙:放在用户主目录下的.ssh目录下,文件名:id_rsa.pub和id_rsa!必须 将公匙复制到登陆的服务器的~/.ssh/目录下,并改名为:authorized_keys!然后,便可使用密匙方式登陆!
#ssh [–l username] ip地址或主机名

3.OpenSSH上常用的命令
   *不登陆远程系统使用命令
#ssh 210.45.160.17 [命令] [参数]
   *本地系统和远程系统间文件的传输
#scp a.txt root@210.45.160.17:/b.txt
#scp root@210.45.160.17:/b.txt /c.txt
   *sftp命令
Sftp 命令和ftp命令类似,它是OpenSSH提供的网络传输文件的小工具,它更加安全,使用和ftp相似的命令:主要有如下几个:
   *登陆
#ftp 210.45.160.17
   *ftp 会话的打开与关闭
打开:open 210.45.160.27
关闭:close
   *文件的传输
从ftp服务器上得到文件:
Get a.txt
向ftp上放文件
Put a.txt
   *退出ftp
Bye
   *其他
bell:每个命令执行完毕后计算机响铃一次
Cd ,ls 等一些常见命令也可以在ftp服务器目录中使用!

   telnet和ssh比想象中的简单多了。呵呵。(2012.05.31)。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值