当前位置: 首页 > 图文教程 > 网络编程 > PHP > OpenSSH可实现一次性自动管理多台服务器

PHP
php 多线程上下文中安全写文件实现代码
PHP类的使用 实例代码讲解
用php实现让页面只能被百度gogole蜘蛛访问的方法
php 学习笔记
PHP编程过程中需要了解的this,self,parent的区别
php 操作excel文件的方法小结
使用PHP获取网络文件的实现代码
PHP 巧用数组降低程序的时间复杂度
php下将XML转换为数组
php 文件上传代码(限制jpg文件)
php 无极分类(递归)实现代码
PHP 采集获取指定网址的内容
PHP 将图片按创建时间进行分类存储的实现代码
PHP 存储文本换行实现方法
PHP 批量更新网页内容实现代码
用PHP查询搜索引擎排名位置的代码
用php实现的获取网页中的图片并保存到本地的代码
php实现首页链接查询 友情链接检查的代码
处理php自动反斜杠的函数代码
php实现的遍历文件夹下所有文件,编辑删除

PHP 中的 OpenSSH可实现一次性自动管理多台服务器


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 51 ::
收藏到网摘: n/a

Linux系统管理员都清楚“安全外壳”协议是软件工具包中最便利也是最关键的工具之一。本文将向大家介绍一个被称作OpenSSH的开源SSH是如何工作的,以及它对于Linux系统环境的重要意义。

SSH可以通过网络管理外壳或Perl脚本安全快速实现一次性自动管理多台服务器。当然,其他网络外壳工具例如RSH,出现的时间比SSH更久。但SSH为了文件在网络上安全传输,加入了强大的加密和数据压缩功能,大部分流行的SSH甚至还提供了SFTP和SCP功能。在众多SSH中,最流行的就是由OpenBSD社团主持开发和维护的OpenSSH项目。OpenSSH可以用在目前几乎所有的操作系统平台上,包括微软Windows。

SSH的作用

SSH通过强大的加密功能保护完整的远程外壳线程不被黑客和恶意软件入侵。端到端的保护能力可以从线程开始到结束提供完整的保护,虽然受信主机认证方案以及系统间的预先密钥交换有助于提高安全性,但是OpenSSH并不需要证书或者预先密钥交换来确立一个加密的远程线程。

另外,SSH可以通过SFTP功能使得类似FTP的文件传输线程具有加密能力,同时可以让用户的密码以及用户名以加密方式传输,而非明文方式传输。对于限制更多的情况,如单一文件传输操作,SCP同样可以实现安全和方便的传输能力,它会通过一个加密的文件拷贝命令实现文件在网络上的传输。

使用和配置Linux客户端

将OpenSSH安装到主流Linux系统中非常简单,只需要一个简单的包管理命令。比如要在Debian GNU/Linux中安装OpenSSH,只需要以root身份登录,并在命令行方式输入apt-get install ssh。同样,在Fedora Core Linux中,也只需要以root身份登录,并输入yum install ssh即可。不过一般情况下,这两个命令行也不需要,因为Debian和Fedora Core中,已经默认安装了OpenSSH。对于任何Linux系统,如果你想查看它是否安装了OpenSSH,只需要简单地输入ssh即可。回车后,如果系统已经安装了OpenSSH,则会返回有关OpenSSH的完整使用信息。

要使用OpenSSH客户端通过命令行方式接入运行OpenSSH服务器端的系统,一般只需要输入ssh host,这里的host是指目标系统的主机名。如果网络没有DNS解析,或者主机名没有在/etc/hosts文件中列出,那么则需要直接输入对方主机的IP地址,比如ssh 192.168.0.1。

OpenSSH系统范围的配置文件一般位于/etc/ssh目录下。OpenSSH客户端的主要配置文件为/etc/ssh/ssh_config 。大部分版本的OpenSSH都在配置文件中带有详细的注释。在一些发行量较大的Linux系统中,比如Debian,你可以通过命令行man ssh_config来获取更多有关OpenSSH客户端的配置信息。

安全方面的一个主要配置项目就是ForwardX11,将这个选项设置为“no”,可以防止OpenSSH客户端自动向网络发送X Window System信息,否则就算没有在SSH链接上使用X Windows,有关信息还是有可能被发送。在这个选项中,你可以通过-X命令行参数来指定某个特定的SSH连接可以发送X Window系统信息。etc/ssh/ssh_config文件中的其它配置可以帮助你实现或者加强网络安全策略,满足某些特定的安全需求。

基于Windows的SSH客户端

Windows系统下的SSH客户端相当多,其中某些属于商业化软件,其余则是免费软件或共享软件,当然也有OpenSSH这样的开放源代码软件。虽然其中有些软件属于Unix模拟器外壳的一部分,仍然是命令行方式的客户端,但是大部分都已经配合Windows系统开发出了图形界面。在这些带有图形界面的免费软件中,WinSCP支持SCP 和 SFTP,PuTTY支持SSH 外壳。在看过上面有关Linux下OpenSSH客户端的使用方法后,你会发现带有图形界面的WinSCP和PuTTY在配置和使用上都方便易懂了许多。Windows下的OpenSSH,也被称作OpenSSH for Windows ,同样支持端口设定。

在Linux下使用和配置OpenSSH服务器

一般情况下,你的Linux系统上可能已经运行了OpenSSH服务器端。在Debian GNU/Linux 系统中,OpenSSH服务器端可以通过以下命令行方式重新启动: /etc/init.d/ssh restart。将命令行中的“restart” 改为 “start” 或 “stop”,就可以实现启动和停止OpenSSH服务器了。在Fedora Core Linux系统中,命令方式也是一样,只不过是将上面的“ssh”改为了“sshd”。

与OpenSSH客户端配置文件类似,OpenSSH服务器端的配置文件一般为/etc/ssh/sshd_config,它的格式与/etc/ssh/ssh_config基本一样,但是其中的选项是不同的,配置文件的细节可以通过man sshd_config命令查看。一般情况下,应该将UsePrivilegeSeparation和IgnoreRhosts选项设置为“yes”,将PermitRootLogin和PermitEmptyPasswords设置为“no”。与在OpenSSH客户端一样,如果允许在SSH连接上发送Windows系统信息,将导致轻微的安全风险,因此如果没有必要,不必激活该选项。同样,在服务器端也应该将X11Forwarding设置为“no”。

对于具备安全意识的Linux用户,更应该正确设置以上几个Ope