Linux服务器部署系列之六—远程管理篇

简介:



做为网络管理员,我们不可能总是在机房操作服务器,对于windows服务器,我们可以通过远程终端或netmeeting进行操作。但是对于Linux服务器呢?我们也可以使用远程工具进行操作,常用的远程管理服务有telnetSSHVNC等,这些远程管理服务虽然都能做远程管理用,但是他们在功能及使用方面还是各有千秋。今天我们就来谈谈使用这些不同的远程管理服务工具管理Linux服务器。

本文中的服务器 IP 地址为 192.168.99.9 ,服务器使用系统为: CentOS 5
 
一、 Telnet
1.  软件安装:
我们可以使用 rpm -qa|grep telnet 命令查询系统安装的 telnet ,如下图:
系统默认安装了 telnet 的客户端,没有安装 telnet 服务端, telnet 服务端是需要 xinetd 支持的,所以我们需要手动安装这两个程序包,如下图:
2.  启动 Telnet 服务
使用命令 vi /etc/xinetd.d/telnet ,编辑 telnet 服务,将 disable=yes 该为 disable=no ,激活 telnet 服务。
使用 service xinetd start 命令,启动 telnet 服务。
我们可以使用 telnet ip 命令来测试,比如 telnet 192.168.99.199 这台机,如下图,可以正常 telnet 192.168.99.199.
我们再找一台 windows 的机器来 telenet 我们的 linux 服务,如下图,如果我们使用 root 帐号登录,会提示 login incorrect ,这是因为 telnet 默认不允许以 root 的身份 telnet 进入 linux 系统。
3.  配置 telnet 服务
telnet 是明文传送口令和数据的,如果直接默认使用,将存在很大的安全风险,所以我们必须对 telnet 服务做一些限制。使用命令 vi /etc/xinetd.d/telnet 编辑 telnet 服务,如下图:
说明:
bind=192.168.99.9    # 本机的 IP 地址
only_from=192.168.99.0/24     # 只允许 192.168.99.0--192.168.99.255 这个网段的地址 telnet 进来,如果需要也可以设置只允许某台机器 telnet 进来。
no_access=192.168.99.{11,13}    # 不允许 192.168.99.11 192.168.99.13 这两个 IP 地址 telnet 进来。
access_times=8:00-12:00 14:00-16:00    # 每天只在这个时间段内开放 telnet 服务。
4.  设置 telnet 端口
telnet 默认使用 23 端口进行通讯,这个大家都知道,也容易被一些别有用心的人利用,所以我们将需要更改默认端口以增加安全性,比如改为 2300
使用 vi /etc/services 命令,找到 telnet 23/tcp telnet 23/udp 改为 telnet 2300/tcp telnet 2300/upd ,如下图:
5.  开启 root 用户登录
虽然 telnet 默认不允许使用 root 用户登录,但是我们还是可以开启它,使用命令 mv /etc/securetty  /etc/securetty.bak  ,重启 telnet 服务,现在就可以使用 root 用户登录了。如下图所示,不过,不建议开通 root 用户的登录权限,这样会增加安全风险。
 
 
二、 OpenSSH
由于 telnet 采用明文传输,在安全性方面存在较大的隐患,所以现在正在被另一种远程管理服务— SSH 服务取代。 SSH 采用加密的传输,而且在用户认证方式上,可以使用公共密钥加密法,整体安全性得到提高。下面我们就来看看 SSH 服务的相关内容:
1.  软件安装
系统已经默认安装了 OpenSSH ,我们可以通过命令 rpm -qa|grep openssh 来查看 openssh 的安装情况,如下图所示:
2.  使用 windows 客户端登录服务器
windows xp 本身没有自带 ssh 客户端程序,所以我们需要在 windows 上安装 ssh 客户端程序,常用的 windows ssh 客户端软件有 WinSCP putty 等。 WinSCP 支持中文语言,而且提供了一个友好的图形操作界面,用户可以很方便操作它,下面我们先来介绍一下 WinSCP
如下图,填入主机名或 IP 地址就可以登录了:
在登录的时候,会如果没有加载密钥 wenjian  ,会弹出一个下图所示的警告窗口,由于我们现在还没有使用密钥认证,所以可以直接点是进去。
WinSCP 提供了一个类似 windows 资源管理器的界面,如下图:用户可以通过它很方便的执行文件操作,比如上传、下载,文件、目录重命名等工作。
WinSCP 也提供了一个用于执行命令的控制台,如下图,不过,使用起来感觉不是很方便。
如果要像在 Linux 下那样方便的使用命令行来操作,还是使用 PuTTY 比较方便。如下图,输入计算机名或 IP 地址,就可以连接 SSH 服务器了。
在连接过程中,也会弹出一个警告对话框,提示密钥问题,我们还是点 yes 继续。如下图:
系统连接上后,会提示要输入用户名和密码,输入正确的用户名和密码后,就可以像在 linux 中一样使用命令行对它进行操作了。默认情况下,是允许使用 root 帐户登录的。如下图:
3.  配置 SSH 服务
在默认情况下,我们已经可以使用客户端登录 ssh 服务器了,不过,直接使用还是有安全隐患,所以我们还需要继续对 SSH 服务进行配置:
1 )使用命令 vi /etc/ssh/sshd_config 配置 SSH 服务,修改以下行(用红线框住的行):
Protocol 2          默认支持 SSH1 SSH2 ,修改后,只使用 SSH2
ServerKeyBits 1024       # ServerKey 强度改为 1024 比特
PermitRootLogin no     修改后,不允许使用 root 进行登录
PasswordAuthentication no     修改后,不允许以密码方式登录
PermitEmptyPasswords no     修改后,禁止空密码登录
2 )系统默认是允许所有地址连接 SSH 服务器的,所以我们还需要对访问地址进行限制:
使用命令 vi /etc/hosts.deny ,修改屏蔽规则,在末尾加上: sshd ALL ,屏蔽来自所有的 SSH 连接请求。
现在所有电脑都不能连接 SSH 服务器,所以我们还需要使用命令 vi  /etc/hosts.allow 修改允许规则,在行尾加入一条: sshd:192.168.99.  ,允许来自 192.168.99.0/24 这个网段的 SSH 连接请求,当然在这里也可以设置只允许部分 IP 地址的 SSH 连接,这个大家可以根据自己的需求进行设置。
设置完成后,需要重启 SSH 服务才能生效。
我们再用 PuTTY 连接一下,无法登录了。因为现在已经不能用密码验证了,需要使用“钥匙”了。
4.  公钥和私钥的建立
切换到一个普通用户,基于这个用户建立公钥和私钥。(这里我以 admin 这个自建的帐户为例),操作过程如下图:
公钥和私钥建立好后,还需要做一些处理,如下图:
OK ,现在已经配置完成。下一步,我们需要将私钥复制到客户端电脑上,私钥文件存放地点: /home/admin/.ssh/id_rsa
5.  转换来自服务器端的私钥
由于服务器生成的私钥不能被客户端直接使用,我们还需要对私钥进行转换。下面我们就以最常用的 PuTTY 客户端为例进行说明。
对于 PuTTY 客户端,我们可以使用 PuTTYGen 这款工具对私钥进行转换。
运行 PuTTYGen ,然后点击 Load ,载入私钥,如下图:
开始转换,这时会弹出一个对话框,要求输入在服务器端建立此私钥时的口令,如下图:
转换完成后,会弹出一个转换成功的对话框,如下图:
点击“ Save private key ”保存私钥,如下图:私钥转换完成。
6.  使用 putty 登录服务器
打开 PuTTY 工具,在左面板上点击 Auth (认证方式),然后点击右面板上的 Browse ,加载刚才转换后的私钥,如下图:
然后点击左面板的 Session ,回到主机连接信息对话框,如下图:
 
在“ Host Name ”项填入主机名或 IP 地址,然后在“ Saved Sessions ”项填入此连接的名称(可以是任意名称),然后点击 Save ,保存主机连接设置,如下图:
双击新建立的连接,输入用户名和密码就可以连接了。注意:这里的密码不是用户密码,而是刚才建立私钥时设置的密码。
OK ,通过“钥匙”方式登录 SSH 服务器的设置至此完成。
这里还有一点需要注意的:如果要允许某个用户使用 SSH 连接服务器,就必须基于这个用户建立对应的公钥和私钥。
 
三、 VNC
使用 SSH 可以安全的连接到 Linux 服务器,但是如果连接中断,那么连接过程中执行的命令也会中止。在使用 SSH 连接过程中执行一些程序时,中断是很危险的,可能对系统造成一定的影响。所以,我们还需要考虑另外的一种解决方案,以便一些特殊情况下使用。 VNC 刚好可以满足这个需求,使用 VNC 连接,在网络中断的情况下,原来执行的命令等不会受到影响,系统会继续执行。而且 VNC 可以提供一个完整的 Linux 操作界面,通过它,可以像操作本机一样操作 Linux 服务器。下面我们就来看看使用 VNC 连接的情况:
1.  软件安装
我们可以使用命令 rpm -qa|grep vnc 检查 vnc 的安装情况,系统已经默认安装了。如果系统没有安装,可以在安装光盘上找到该程序包。使用 rpm 安装就可以了。
2.  启动 VNC 服务
使用命令 vncserver :1 就可以启动 VNC 服务了,其中,“数字” 1 表示桌面号。第一次执行时,会需要输入连接密码,该密码保存在 /root/.vnc/passwd 中;同时在用户主目录下的 .vnc 子目录中为用户自动建立 xstartup 配置文件,在每次启动 VNC 服务时,都会读取该文件中的配置信息。
我们通过 windows VNC Viewer 输入“ 192.168.99.9:1,然后点击OK ,输入密码就可以通过 VNC 连接服务器了。
如下图,已经连接到了 Linux 服务器,不过由于使用的是 x-windows 的桌面环境,所以界面看起来不美观。另外,除了使用 VNC Viewer 进行登录,我们还可以使用浏览器进行连接,不过,需要先安装 Java 支持环境和 VNC viewer for Java
3.  配置 VNC 桌面环境为 KDE GNOME 桌面环境
VNC 服务默认使用 twm 图形桌面环境,刚才我们已经看到了,不美观。还好,我们可以修改它,使用命令: vi  /root/.vnc/xstartup
将最后一行的 twm 改为 startkde 则修改为 KDE 桌面环境,修改为 gnome-session 则为 GNOME 桌面环境。比如,我们将它改为 KDE 桌面环境,如下图:
重启 VNC 服务,如下图:
我们再用 VNC Viewer 连接,现在出现的就是 KDE 桌面环境了,如下图:
4.  配置多个桌面环境
使用命令 /etc/sysconfig/vncservers 修改配置文件(修改部分见红色框内),如下图:
这里我们将桌面 1 设置为 root 用户的桌面,桌面 2 设置为 admin 用户的桌面。
注意:设置好后,需要以对应用户的身份登录,手动执行一次 vncserver :<number> 命令,以初始化 $HOME/.vnc/xstartup $HOME/.vnc/passwd 文件。
以后启动的话,可以使用 /etc/init.d/vncserver start 命令,现在可以使用 VNC Viewer 登录了:
5.  修改 VNC 访问密码:
我们可以通过命令 vncpasswd 修改用户的连接密码,注意,如果有多个不同的用户,需要在不同用户的用户环境下修改其连接密码。
 
OK ,三种不同的远程管理服务都已经介绍完了,大家在日常工作中可以根据自己的需要对服务器进行相应的配置,以便更好的进行远程管理。



     本文转自Tonyguo 51CTO博客,原文链接:http://blog.51cto.com/tonyguo/179084,如需转载请自行联系原作者



相关文章
|
7天前
|
Java Linux
java读取linux服务器下某文档的内容
java读取linux服务器下某文档的内容
20 3
java读取linux服务器下某文档的内容
|
1月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
1月前
|
网络协议 网络安全
基于bind软件部署DNS服务器
关于如何使用bind软件部署DNS服务器的教程,包括DNS服务器的类型、基于bind软件的部署步骤、验证DNS服务器可用性的指导,以及如何进行DNS正向解析的实现。
29 2
基于bind软件部署DNS服务器
|
18天前
|
监控 JavaScript Java
部署应用程序到服务器
部署应用程序到服务器
37 3
|
18天前
|
Ubuntu Linux
Linux服务器的自动启动可以在哪里进行配置?
Linux服务器的自动启动可以在哪里进行配置?
79 3
|
1月前
|
存储 关系型数据库 MySQL
使用Docker快速部署Mysql服务器
本文介绍了如何使用Docker快速部署MySQL服务器,包括下载官方MySQL镜像、启动容器、设置密码、连接MySQL服务器以及注意事项。
152 18
|
26天前
|
存储 数据挖掘 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统服务器上跑了几十个网站,服务器上只有一块SATA硬盘。 服务器故障: 服务器突然宕机,尝试再次启动失败。将硬盘拆下检测,发现存在坏扇区
|
1月前
|
存储 安全 Linux
离线Linux服务器环境搭建
【9月更文挑战第3天】在离线环境下搭建Linux服务器需按以下步骤进行:首先确定服务器用途及需求,准备安装介质与所需软件包;接着安装Linux系统并配置网络;然后设置系统基础参数,如主机名与时区;安装必要软件并配置服务;最后进行安全设置,包括关闭非必要服务、配置防火墙、强化用户认证及定期备份数据。整个过程需确保软件包的完整性和兼容性。
|
11天前
|
JavaScript Linux 开发工具
如何将nodejs项目程序部署到阿里云服务器上
该文章详细描述了将Node.js项目部署到阿里云服务器的步骤,包括服务器环境配置、项目上传及使用PM2进行服务管理的过程。
|
13天前
|
Linux Python
linux之部署python环境&创建虚拟环境
linux之部署python环境&创建虚拟环境