热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

“SSH”让远程控制更安全

文章标题:“SSH”让远程控制更安全。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  网络被攻击,很多情况是由于服务器提供了Telnet服务引起的。的确,对于UNIX系统,如果要远程管理它,必定要使用远程终端,而要使用远程终端,自然要在服务器上启动Telnet服务。但是Telnet服务有一个致命的弱点——它以明文的方式传输用户名及口令,所以,很容易被别有用心的人窃取口令。目前,一种有效代替Telnet服务的有用工具就是SSH服务。SSH客户端与服务器端通讯时,用户名及口令均进行了加密,有效防止了对口令的窃听。本文向大家介绍运行在常用操作系统上的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主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • Java学习笔记之使用反射+泛型构建通用DAO
    本文介绍了使用反射和泛型构建通用DAO的方法,通过减少代码冗余度来提高开发效率。通过示例说明了如何使用反射和泛型来实现对不同表的相同操作,从而避免重复编写相似的代码。该方法可以在Java学习中起到较大的帮助作用。 ... [详细]
  • 原理:dismiss再弹出,把dialog设为全局对象。if(dialog!null&&dialog.isShowing()&&!(Activity.)isFinishing()) ... [详细]
  • 本文详细介绍了在Centos7上部署安装zabbix5.0的步骤和注意事项,包括准备工作、获取所需的yum源、关闭防火墙和SELINUX等。提供了一步一步的操作指南,帮助读者顺利完成安装过程。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
author-avatar
u02022042
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有