网管甲接到上级领导的通知,去了遥远的地方出差。在连续几天欣赏完当地美景准备离开时候,突然想起了此次来的目的,于是乎他开始了加班加点的工作。在任务即将完成时,却发现少了一个重要文件。不过没关系,来的时候网管甲已经把这个重要文件从他的Linux系统中拷到U盘上了,O(∩_∩)O,但接下来令人喷血的事发生了 “U盘 我的U盘呢?.........”。网管甲晕倒在地
 
网管乙是管理企业服务器的一个网管(怎么听着这么别扭),企业中的服务器都是放在一个机房统一管理的,作为网管的他是否必须每天跑去机房查看Linux代理服务器日志?但服务器机房可不能让人随便进仅出出的,万一出点故障负责不起的。再说了服务器一般也不带显示器,难道他去机房摸一摸服务器上插的网线就知道传输的二进制内容?超人啊!
 
那么我们如何解决上述两个问题?linux在设计时就已经考虑到了,在我们安装linux时系统自身带有一个远程管理服务OpenSSH。OpenSSH实现了与telnet服务类似的远程登陆功能,但SSH采用密文的形式在网络中传输数据,因此可以实现更高的安全级别,是telnet服务的安全替代品。OpenSSH在系统安装时已经携带,可以通过rpm -qa | grep ssh命令来查看当前系统是否安装了OpenSSH服务。如果你的系统比较个性,没有安装OpenSSH服务,可插入第一张光盘,并安装所有以OpenSSH开头的软件包。如图所示
 
此时有人抢答“前面都是废话,我们的系统默认都安装了那个你所谓的安全管理服务,怎么用啊  快说.......”,哈哈 大家已经迫不及待的想知道如何远程管理Linux了。由于是我们客户机一般都用到windwos操作系统,所以问题的关键是如何在windwos上远程控制Linux服务器。我们需要借助软件putty(本文附件中已提供,敬请下载、使用)这是一绿色小软件,可在windwos环境下通过SSH服务远程管理Linux服务器。
 
首先打开这个软件,在HosatName框中输入Linux服务器的IP地址,本文以192.168.0.10为例。 接着在Protocol协议中选择“SSH”,我们看到Port变成了22,这是由于SSH默认使用22端口。 完成后单击“Open”按钮开始登陆远程服务器。
 
输入“Y”后进入Linux登陆界面,输入正确的用户名和密码,进入远程服务器。此时可以进行任何操作了,看 是不是跟在本机上操作一样呢?(前提:服务器上必须通过service iptables stop命令关闭防火墙或者开放防火墙22端口,否则让无法连登陆到服务器的)
 
此时你一定有疑问,如果想下载服务器上的文件,或上传文件到服务器该怎么做?此时我们又得借助另一绿色小软件WinSCP3了。(附件中也有提供)
打开软件主界面,在Host name中输入Linux服务器的IP地址,在port中输入22(关于为什么输入22端口就不用解释了吧)在User name中输入远程linux服务器的用户名、密码,在Protocol协议中选择SFTP(allow SCP fallback)。并单击“Login”按钮登陆远程服务器
 
输入“Y”后进入登陆到远程服务器,管理界面是不是似曾相识?那就对了,跟FTP界面大致相同,其中左侧为本地磁盘以及文件,右侧为服务器目录以及文件。
 
若此时想上传文件至远程服务器root目录,可直接拖动文件到服务器的root目录下,在弹出的窗口中选择“Copy”按钮,这样上传文件成功。从服务器下载文件步骤相同,只是从服务器托文件从本地磁盘罢了。
 
OK,我们完成了服务器的远程管理与服务器文件上传、下载。
 
通过不同策略让远程管理更加安全
 
我们已经可以对Linux服务器进行远程了,可此时你是否会有疑问?万一别人知道了服务器的用户名和密码,那他不是也可通过此方法进行非法行为了?那我可就成了罪魁祸首了,不行,我们得让远程管理更加安全。
 
·策略一:修改SSH端口来伪装自己
 
最喜欢变色龙,因为它懂得通过改变皮肤颜色来伪装自己,这样似乎更安全。OpenSSH同样也是如此,通过修改OpenSSH的端口号,这样不知情的人总以22端口访问服务器,当然登陆不上了。那么如何修改OpenSSH的连接端口呢?首先必须在Linux服务器上用VI编辑器打开/etc/ssh/sshd_config文件,找到port 22这一行,默认前面打了“#”被注释掉了,所以我们需要删除#号,并修改22为51。保存后敲入命令service sshd restart重启SSH服务,客户端必须使用SSH服务的51端口来访问服务器了。
 
此时我们通过putty软件登陆Linux服务器,只要在主界面修改端口为51,其余操作相同
 
当不之情的人仍然使用22端口或其他端口访问服务器时,出现如图错误提示窗口
 
 
·策略二禁止ROOT登陆,扼杀高权限
 
我们更改了端口,那万一被某高手用软件破解出来,再次登陆你的linux服务器,那我们的服务器甚为危险了,别着急 有对策!我们可以禁止ROOT帐户登陆此服务器,由于ROOT用户权限过高,对任何文件可以访问、删除,被坏人利用那可不得了。所以我们在服务器上编辑/etc/ssh/sshd_configw文件,找到PermitRootLogin yes这一行,默认也是被注释掉的。我们必须删除#号并修改yes为no(禁止),这样客户端便不能使用root登陆Linux服务器了
 
那我们需要在客户端管理服务器时不是也不能登陆了?没关系,我们可以新建一用户,并设置为管理员组,这样我们可以在客户端使用新建的用户来登陆远程服务器了,并且权限也不低哦。
 
此时客户端用putty软件登陆服务器时只要在用户名处输入bestsafe即可登陆
 
当不知情的人还以ROOT用户登陆服务器时,出现如图错误提示框。
 
 
·策略三设置简易防火墙,控制登陆IP
 
如果你觉得更改SSH端口不是很安全,禁止ROOT登陆不是很方便,我们还可以通过修改/etc/hosts.deny和/etc/hosts.allow两个文件来搭建简易防火墙,控制允许使用SSH登陆的客户端IP地址。
hosts.deny文件用于设置禁止访问此服务器的客户端,hosts.allow文件用于设置允许访问此服务器的客户端。其格式为 服务进程名:主机列表:,服务器进程可以是单个服务如fttpd,也可是所有服务(all);主机列表也可为单个IP如192.168.0.18,也可是所有IP(all)。
 
首先修改/etc/hosts.deny文件,我们先禁用掉所有的IP访问此服务器的所有服务
 
然后再修改/etc/hosts.allow文件,设置只有192.168.0.18这个客户端可以访问此服务器的OpenSSH服务。
 
由于我们首先禁用所有IP访问所有服务,再设置了所有IP可以访问HTTP服务,FTP服务;只有192.168.0.18这个客户端可以访问OpenSSH服务,而对于客户端访问服务器的其他服务如DHCP、DNS都禁止了。关于这个简易防火墙的更详细用法,可参考此站点
 
 
这样我们设置了只有192.168.0.18这个客户端(平时自己使用的那台机子)才能通过远程SSH登陆到服务器,当其他IP使用putty软件登陆服务器时会出现软件黑屏,接着自动关闭该软件,这样达到了禁止了其他IP登陆到此服务器。
 
不过对于这种方法,似乎也不是那么安全,客户机可以通过更改IP为192.168.0.18来登陆到远程服务器。所以我们必须设置客户端使用users用户登陆,那样客户端就不具备更改IP地址的权利了。