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

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:
 网络被攻击,很多情况是由于服务器提供了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.下载软件包,下载地址[url]www.ssh.com[/url],下载最新软件包SSH2,最好下载源程序软件包自己进行自行编译。
  2.解压及安装:
  # tar -zxvf ssh2-2.4.0.tar.gz
  # cd ssh2-2.4.0
  # ./configure
  # make
  #make install
  安装完成。这一过程实际上将服务器软件包及客户端软件一起安装了,不必再次安装客户端软件包。编译好的二进制软件包以rpm格式存放在[url]ftp://ftp.ssh.com/pub/ssh/rpm[/url]目录下。它是一个给非商业用户使用的软件包,软件包名称为:ssh-2.4.0-1.i386.rpm,其中包含了对X Window的支持,另一个不支持X Window的软件包为ssh- .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服务器的软件包,其下载地址如下: //www.vandyke.com/download/index.html。另一个运行在Windows环境下的SSH服务器是 SSHWinServer.exe,可以直接从[url]ftp://ftp.ssh.com/pub/ssh[/url]目录下下载。
  Windows环境下的安装十分简单,本文不再多介绍。
  与UNIX不同,在Windows环境下,需要分别安装服务器及客户端软件包。运行在Windows环境下的客户端软件,也可以从以上两个站点下载得到,文件名分别为SecureCRT及SSHWin-2.4.0-pl2。
 关于密钥的准备工作
  A.服务器端产生用户的自己的加密密钥及对外公开使用的公钥。在UNIX环境下,产生密钥的方法如下:
  要求用户输入一个长的认证字串,这个字串的功能同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的版本(下载地址: //www.vandyke.com/),这是一个很好的支持SSH的远程终端,它同时支持SSH1及SSH2。用户可以根据服务器端自由选择,让它支持相应的标准。另一个可供选择的是ssh.com提供的客户端,下载地址:[url]ftp://ftp.ssh.com/pub/ssh/SSHWin-2.4.0-pl2.exe[/url],这是新版本的SSH2客户端。另外,还有支持SSH的FTP客户端工具,其中sshwin-2.4中就有一个SSH Secure File Transfer ient,它可以用来在两个主机之间传输加密后的文件。也即scp的功能。配合SecureCRT的也有一个相应的支持SSH的FTP工具,其名称为: SecureFX,可以从[url]www.vandyke.com/[/url]下载使用。
  由于种种原因,一些支持SSH的GUI客户端不一定会很好地支持以上各个服务器,大家可以自行组合以上工具,找到适合自己的工具。一般来说,在 UNIX下的客户端对各种服务器的支持是最好的。通常在选择服务器及客户端软件时,最好选择同一软件商的产品,这样不会出现不兼容的问题。
  需要补充的是,如果你既想使用SSH2又不想付费,那么一个可供选择的自由软件是Openssh,它是一个遵守GPL协议的软件包,同时支持SSH1 及SSH2标准,是另一个被广泛使用的SSH软件包(可以从[url]www.openssh.com[/url]下载)。Openssh的最新版本为Openssh- 2.5.1,提供全部源码。不过,在编译前,应仔细阅读其说明文件。编译过程中要用到zlib及openssl两个软件包,用户首先需要下载并安装它们,之后再编译openssh。具体过程请阅读软件包中的install文件。




本文转自 jankie 51CTO博客,原文链接:http://blog.51cto.com/jankie/36383,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
算法 Linux 调度
深入理解Linux操作系统的进程管理
本文旨在探讨Linux操作系统中的进程管理机制,包括进程的创建、执行、调度和终止等环节。通过对Linux内核中相关模块的分析,揭示其高效的进程管理策略,为开发者提供优化程序性能和资源利用率的参考。
70 1
|
4天前
|
弹性计算 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot是由阿里云推出的操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行等功能,极大提升了Linux系统的使用效率。用户只需通过简单的命令或自然语言描述问题,OS Copilot即可快速提供解决方案并执行相应操作。例如,查询磁盘使用量等常见任务变得轻松快捷。此外,它还支持从文件读取复杂任务定义,进一步简化了操作流程。虽然在某些模式下可能存在小问题,但总体上大大节省了学习和操作时间,提高了工作效率。
46 2
|
1月前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
1月前
|
搜索推荐 Linux
深入理解Linux操作系统的启动过程
本文旨在揭示Linux操作系统从开机到完全启动的神秘面纱,通过逐步解析BIOS、引导加载程序、内核初始化等关键步骤,帮助读者建立对Linux启动流程的清晰认识。我们将探讨如何自定义和优化这一过程,以实现更高效、更稳定的系统运行。
|
1月前
|
存储 缓存 网络协议
Linux操作系统的内核优化与性能调优####
本文深入探讨了Linux操作系统内核的优化策略与性能调优方法,旨在为系统管理员和高级用户提供一套实用的指南。通过分析内核参数调整、文件系统选择、内存管理及网络配置等关键方面,本文揭示了如何有效提升Linux系统的稳定性和运行效率。不同于常规摘要仅概述内容的做法,本摘要直接指出文章的核心价值——提供具体可行的优化措施,助力读者实现系统性能的飞跃。 ####
|
1月前
|
缓存 监控 网络协议
Linux操作系统的内核优化与实践####
本文旨在探讨Linux操作系统内核的优化策略与实际应用案例,深入分析内核参数调优、编译选项配置及实时性能监控的方法。通过具体实例讲解如何根据不同应用场景调整内核设置,以提升系统性能和稳定性,为系统管理员和技术爱好者提供实用的优化指南。 ####
|
1月前
|
运维 监控 Linux
Linux操作系统的守护进程与服务管理深度剖析####
本文作为一篇技术性文章,旨在深入探讨Linux操作系统中守护进程与服务管理的机制、工具及实践策略。不同于传统的摘要概述,本文将以“守护进程的生命周期”为核心线索,串联起Linux服务管理的各个方面,从守护进程的定义与特性出发,逐步深入到Systemd的工作原理、服务单元文件编写、服务状态管理以及故障排查技巧,为读者呈现一幅Linux服务管理的全景图。 ####
|
1月前
|
消息中间件 安全 Linux
深入探索Linux操作系统的内核机制
本文旨在为读者提供一个关于Linux操作系统内核机制的全面解析。通过探讨Linux内核的设计哲学、核心组件、以及其如何高效地管理硬件资源和系统操作,本文揭示了Linux之所以成为众多开发者和组织首选操作系统的原因。不同于常规摘要,此处我们不涉及具体代码或技术细节,而是从宏观的角度审视Linux内核的架构和功能,为对Linux感兴趣的读者提供一个高层次的理解框架。
|
2月前
|
人工智能 安全 Linux
Linux操作系统的演变与未来趋势###
本文深入探讨了Linux操作系统从诞生至今的发展历程,分析了其开源模式对技术创新和IT行业的影响,并展望了Linux在未来技术生态中的角色。通过历史回顾、现状分析和未来预测,本文旨在为读者提供一个关于Linux操作系统全面而深入的视角。 ###
|
2月前
|
缓存 并行计算 Linux
深入解析Linux操作系统的内核优化策略
本文旨在探讨Linux操作系统内核的优化策略,包括内核参数调整、内存管理、CPU调度以及文件系统性能提升等方面。通过对这些关键领域的分析,我们可以理解如何有效地提高Linux系统的性能和稳定性,从而为用户提供更加流畅和高效的计算体验。
43 2