`

Linux系统利用SSH远程控制安全问题

阅读更多

 网络被攻击,很多情况是由于服务器提供了Telnet服务引起的。的确,对于UNIX系统,如果要远程管理它,必定要使用远程终端,而要使用远程终端, 自然要在服务器上启动Telnet服务。但是Telnet服务有一个致命的弱点——它以明文的方式传输用户名及口令,所以,很容易被别有用心的人窃取口 令。目前,一种有效代替Telnet服务的有用工具就是SSH服务。SSH客户端与服务器端通讯时,用户名及口令均进行了加密,有效防止了对口令的窃ting。 本文向大家介绍运行在常用操作系统上的SSH服务器软件包的使用。

  首先,SSH软件包由两部分组成,一部分是服务器端软件包,另一部分是客户软件包。针对UNIX、Linux系统,这两个软件包是分开打包在 两个不同的文件中的。在Windows 9x/NT/2000中,也分为两部分,不同之处在于,服务器软件包只能运行在Windows NT及Windows 2000 Server以上的版本中,而客户端SSH可以运行在所有的Windows系统中。此外,SSH还分为SSH1及SSH2两个版本,SSH1是一个完全免 费的软件包,而SSH2在商业使用时则要付费。由其命名也可知SSH1是第一版,它的功能没有SSH2强大,但是,由于它是免费的,所以广泛地使用在很多 网站中。SSH2中加入了很多功能,并且兼容SSH1服务器,可以对SSH1的客户端提供很好的服务支持。所以,如果你的系统中安装了SSH2,那就没有 必要再安装SSH1软件包了。

  UNIX/Linux下SSH2安装步骤

  1.下载软件包,下载地址www.ssh.com,下载最新软件包SSH2,最好下载源程序软件包自己进行自行编译。

  2.解压及安装:

  # tar -zxvf ssh2-2.4.0.tar.gz
  # cd ssh2-2.4.0
  # ./configure
  # make
  #make install

  安装完成。这一过程实际上将服务器软件包及客户端软件一起安装了,不必再次安装客户端软件包。

  已编译好的二进制软件包以rpm格式存放在ftp://ftp.ssh.com/pub/ssh/rpm目录下。它是一个给非商业用户使用的 软件包,软件包名称为:ssh-2.4.0-1.i386.rpm,其中包含了对X Window的支持,另一个不支持X Window的软件包为ssh-2.4.0-1nox.i386.rpm,下载后可以直接安装。安装程序将SSH2软件包安装在/usr/local /bin及/usr/local/sbin下。

  Windows NT上安装SSH

  在NT及Windows 2000 Server环境下,可选择的服务器软件有:Vshell、ssh2-2.4.0.win-server。Vshell是由Van Dyke提供的一个可以在Windows NT/2000环境下提供SSH2服务器的软件包,其下载地址如下:http://www.vandyke.com/download /index.html。另一个运行在Windows环境下的SSH服务器是SSHWinServer.exe,可以直接从ftp: //ftp.ssh.com/pub/ssh目录下下载。

  
  Windows环境下的安装十分简单,本文不再多介绍。

  与UNIX不同,在Windows环境下,需要分别安装服务器及客户端软件包。运行在Windows环境下的客户端软件,也可以从以上两个站点下载得到,文件名分别为SecureCRT及SSHWin-2.4.0-pl2。

  关于密钥的准备工作

  A.服务器端产生用户的自己的加密密钥及对外公开使用的公钥。在UNIX环境下,产生密钥的方法如下:

  -keygen

  要求用户输入一个长的认证字串,这个字串的功能同password相当,但是,它更长,一般是在20个字符以内。再次输入相同的字串以确认输 入的正确,之后,系统产生一对密钥及公钥。将公钥复制到本地,以便客户端对服务器发送的信息进行解密用。当然,如果你不复制,在第一次登录时,服务器会将 它的公钥自动推给客户机,以便客户机能对服务器提供的信息进行解密识别。

  B.客户端产生用户的加密密钥及公钥。客户端产生自己的密钥及公钥的方法与服务器端相同。而Windows环境下的一些支持SSH的客户端软 件都采用自己生成的方法,具体情况各不相同,但是可以肯定的是所有的支持SSH的客户端都可以而且必须产生。以sshWin2.4为例说明如下:
  
  打开选单:Edit→Settings→Globe settings→User keys→Generate New keypairs,按照提示会自动产生新的密钥及公钥对。

  最后,将客户机产生的公钥复制到服务端的主机上用户的目录中(在UNIX下应为/home/usrname/.ssh2目录中)。不同的版本的SSH对公钥及密钥的文件名有特定的要求,具体情况请阅读软件包中的安装说明。

  启动SSH服务器

  在UNIX/Linux环境下,服务器程序放置在/usr/local/sbin目录下,启动方法如下:

  # sshd
  # ps x

  可以看到SSHD已经启动了。如果不希望每次重启动系统,都要手工运行启动SSHD,则可以自己写一个脚本,放置在init.d目录下,让系 统启动后,自动执行SSHD服务的启动工作。或者直接在rc.local中加入一行/usr/local/sbin/sshd也可。Windows NT/2000/下启动SSH2 Server,运行程序组中的start SSH2 Server即可。

  使用SSH

  客户端在UNIX/Linux系统中就是SSH,存放在/usr/local/bin目录下。其中有SSH1、SSH2、scp等客户端工具,使用SSH登录远程主机方法如下:

  host.ip.of.remote

  如同使用Telnet一样,不同之处是要求用户输入认证字串,如果认证字串通过了认证,则用户直接登录成功;如果不成功,则是要求用户输入系 统口令。口令认证成功后,用户也可以成功登录系统。从使用上看,与Telnet没有什么不同之处。而且有了SSH客户端软件,如果你要上传文件,不必向以 前一样再开一个FTP窗口,再次认证,然后上传文件。使用SSH客户端自带的scp工具,就可以直接将文件上传到远端服务器上。使用方法如下:

  host1:dir/filename host2:/home/abc/filename

  在Windows系统中,可供使用的SSH客户端有:SecurCRT,也即CRT的支持SSH的版本(下载地 址:http://www.vandyke.com/),这是一个很好的支持SSH的远程终端,它同时支持SSH1及SSH2。用户可以根据服务器端自由 选择,让它支持相应的标准。

  另一个可供选择的是ssh.com提供的客户端,下载地址:ftp://ftp.ssh.com/pub/ssh/SSHWin-2.4.0-pl2.exe,这是新版本的SSH2客户端。

  另外,还有支持SSH的FTP客户端工具,其中sshwin-2.4中就有一个SSH Secure File Transfer Client,它可以用来在两个主机之间传输加密后的文件。也即scp的功能。配合SecureCRT的也有一个相应的支持SSH的FTP工具,其名称 为:SecureFX,可以从www.vandyke.com/下载使用。
  
  由于种种原因,一些支持SSH的GUI客户端不一定会很好地支持以上各个服务器,大家可以自行组合以上工具,找到适合自己的工具。一般来说, 在UNIX下的客户端对各种服务器的支持是最好的。通常在选择服务器及客户端软件时,最好选择同一软件商的产品,这样不会出现不兼容的问题。
  
  需要补充的是,如果你既想使用SSH2又不想付费,那么一个可供选择的自由软件是Openssh,它是一个遵守GPL协议的软件包,同时支持 SSH1及SSH2标准,是另一个被广泛使用的SSH软件包(可以从www.openssh.com下载)。Openssh的最新版本为Openssh- 2.5.1,提供全部源码。不过,在编译前,应仔细阅读其说明文件。编译过程中要用到zlib及openssl两个软件包,用户首先需要下载并安装它们, 之后再编译openssh。具体过程请阅读软件包中的install文件。

分享到:
评论

相关推荐

    Linux操作系统下如何利用SSH进行远程控制

    《Linux操作系统下如何利用SSH进行远程控制》 SSH(Secure Shell)是一种安全的网络协议,用于在不安全的网络环境中提供安全的远程登录和其他服务。它替代了传统的Telnet服务,因为Telnet在传输过程中以明文方式...

    ssh远程控制

    SSH(Secure Shell)是一...SSH远程控制是IT运维中的重要技能,了解并熟练掌握上述知识点,对于提升系统管理和维护的安全性和效率具有重要意义。无论是个人开发者还是专业运维人员,SSH都是日常工作中必不可少的工具。

    c#远程控制linux

    在C#中实现SSH远程控制Linux主要包括以下几个步骤: 1. **建立SSH连接**:首先,我们需要使用C#代码创建一个SSH连接对象,输入远程Linux服务器的IP地址、端口号、用户名和密码,或者使用公钥身份验证。 2. **执行...

    基于Linux系统的远程控制技术研究.pdf

    总的来说,SSH远程控制技术是Linux系统中不可或缺的组件,它为系统管理员提供了安全、可靠的远程管理手段。通过深入了解SSH的工作原理和特点,用户可以根据自身需求选择合适的远程控制策略,提高系统的安全性和管理...

    linux常用软件ssh

    Linux SSH(Secure Shell)是一种网络协议,用于在不安全的网络上安全地远程登录到Linux或Unix系统。SSH提供加密的网络服务,包括命令行接口(CLI)的远程登录、文件传输以及网络服务的控制。它取代了早期的不安全的...

    实现远程控制linux系统和实现linux系统文件共享.doc

    为了确保数据的安全,SSH(Secure SHell protocol)应运而生,成为Linux系统中广泛采用的远程控制和文件传输工具。SSH通过加密技术,提供了更为安全的远程连接和文件共享方式。 SSH的核心在于它的加密机制,主要...

    linux 系统基本远程维护工具的使用

    VNC是一种轻量级的远程桌面协议,它允许用户通过图形界面远程控制Linux系统。Linux下常见的VNC服务器有 TightVNC 和 RealVNC,客户端软件则包括 TigerVNC、RealVNC 客户端等。VNC使用TCP/IP协议,安全性较弱,建议...

    linux 系统远程操作工具

    本篇将详细介绍一种适用于远程操作Linux系统的工具,以及如何利用它实现带图形化界面的远程控制。 标题中的“Linux系统远程操作工具”通常指的是SSH(Secure Shell)服务,它提供了安全的网络协议,允许用户通过...

    putty 在windows操作系统下连接远程linux系统

    PUTTY就是利用SSH协议实现这一功能的客户端软件。 安装PUTTY非常简单,你只需双击下载的`putty.exe`或`putty64.exe`文件即可运行。64位版本适用于64位的Windows系统,而32位版本适用于32位系统。运行后,你将看到一...

    remote mangaer.gz_LINUX远程自动_java 远程控制_remote_远程控制

    Java作为一种跨平台的编程语言,使得这种远程控制应用能够在不同的操作系统上运行,包括Linux。这里提到的"X10-wish驱动器"是一个专门用于控制X10自动化系统的软件,X10是一种家庭自动化协议,用于控制灯光、电器等...

    Windows系统远程控制Linux系统的设计与实现.pdf

    《Windows系统远程控制Linux系统的设计与实现》这篇文章探讨了如何在Windows操作系统环境下,利用特定的技术手段远程控制Linux系统,以提高工作效率和降低错误率。在气象通信领域,由于主要服务器多采用Linux系统,...

    Linuxssh登录远程服务器 expect

    在IT行业中,Linux系统是广泛应用于服务器管理的操作系统,而SSH(Secure Shell)则是一种用于在不安全网络中提供安全远程登录和其他服务的协议。当我们需要自动化执行远程服务器上的任务时,`expect`工具就显得尤为...

    嵌入式移植ssh服务.rar

    在嵌入式系统中,SSH(Secure Shell)是一种用于安全远程登录、文件传输以及网络服务配置的协议。本文将深入探讨如何在基于i.MX6UL的开发板上移植和配置SSH服务,以及如何利用提供的压缩包进行部署。内核版本3.14.38...

    Linux远程终端管理系统

    VNC提供了一个图形化的桌面环境,允许用户远程控制Linux桌面。它基于RFB(Remote Framebuffer)协议,可以跨平台使用。配置VNC通常包括安装VNC服务器(如 TightVNC 或 RealVNC)在远程机器上,然后在本地机器上使用...

    Python-MacOS和Linux上的命令行ssh管理工具

    在IT领域,尤其是在系统管理和运维工作中,SSH(Secure Shell)是一种不可或缺的协议,它允许用户在不安全的网络上安全地远程控制其他计算机。本文将深入探讨如何在Mac OS和Linux操作系统上,利用Python开发命令行...

    如何提高Linux系统安全性

    6. 【限制远程访问】:对远程访问进行严格的控制,例如仅允许特定的IP地址或使用安全的远程访问协议如SSH,而非不安全的telnet。 7. 【隐藏重要资料】:将关键文件和数据隐藏在不显眼的位置,或者加密存储,增加...

    LinuxTools两个远程控制工具

    在Linux环境中,远程控制工具是连接和管理远程服务器的关键软件,尤其对于系统管理员和开发者来说,它们是日常工作的必备工具。本篇文章将详细介绍两个流行的Linux远程控制工具:SecureCRT和WinSCP。 首先,我们来...

    使用SSH软件远程登录控制HP工作站.docx

    标题中的“使用SSH软件远程登录控制HP工作站”指的是利用SSH(Secure Shell)协议来远程管理和控制运行在HP工作站上的Linux系统。SSH是一种网络协议,它提供了加密的安全连接,用于在网络中进行安全的远程登录和数据...

Global site tag (gtag.js) - Google Analytics