爱心论坛互帮互助电脑应用 → 信息安全一组

分享到:

  共有6640人关注过本帖树形打印复制链接

主题:信息安全一组

帅哥哟,离线,有人找我吗?
小猴乖乖
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 等级:小飞侠 帖子:1750 精华:30 积分:16454 金钱:27454 金币:0 魅力:9296 威望:0 登陆:335 注册:2007/4/5 13:51:22 近访:2010/8/25 14:55:41 在线:在线0天0小时0分钟.
离升级差0天20小时0分钟.
目前等级0
信息安全一组  发帖心情 Post By:2007/8/12 5:54:25 [只看该作者]

贴子已被锁定


  360安全卫士官方论坛的一项网民调查显示,有接近七成网友的QQ号码曾经被盗过。对此,安全专家表示,盗窃QQ密码的技术手段主要是通过盗号木马和“网络钓鱼”网站。
近期360安全卫士截获了大量此类站点,通过伪装腾讯官方网站来窃取QQ密码的站点大有愈演愈烈之势。

  在这项有5000多网民参与的关于“您丢过QQ号么”的调查中,只有33.61%的网民表示“我很牛,我没丢过”,也就是说将近七成QQ用户的密码曾被盗过。而在QQ号码的丢失地点上,公共场所的电脑首当其冲,选择了“是在网吧丢的”的网民占到了29.53%。让人意外的是,有多达29.70%的网民是“在自己家电脑上弄丢的”。360安全中心的傅盛认为,公共场所鱼龙混杂,的确容易导致盗号木马、病毒的猖狂,但在私人电脑上丢失QQ的比例如此之高,确实有点意外,这说明网民的安全防范意识很淡薄。

  傅盛进一步透露,盗号木马和“网络钓鱼”网站是两个主要的密码窃取手段,“目前QQ的加密手段还是存在一定漏洞,这给木马造成了可乘之机。”据了解,360安全中心即将发布一款专门用于保护QQ帐户的工具。

  而通过360安全卫士的截获发现,最近有个名叫“QQ快速升级 瞬间升到30级”的钓鱼网站(qq-ll.cn)十分猖獗,该网站以“迎接08年奥运”,可以“快速为QQ用户升级”为诱饵,诱导更多的访问者访问,并赚取广告点击费。安全专家分析,钓鱼网站常常和腾讯网的布局、菜单设计一模一样,网民稍不小心就可能掉进陷阱,被窃取QQ、网游甚至网银帐户密码。对于这个钓鱼网站,360安全卫士已经做到完全拦截,请网民安装或者升级到最新版本。

  360安全卫士提醒广大网民,不要轻易点击网友发来的链接,即便是十分熟悉的朋友,遇到与腾讯或QQ有关的活动,注意看清楚网站的地址,如果不是以qq.com或tencent.com为域名的,则肯定是钓鱼网站。此外,建议网民将360安全卫士升级到最新版本,并在“保护”窗口中开启“网页防漏及钓鱼网站拦截”功能。而对于盗号木马,建议广大网民定期使用360安全卫士扫描系统,对一些无法查杀的顽固木马采用“文件粉碎”功能进行查杀。此外,开启实时保护将可以在木马造成损失之前将其拦截,避免造成损失。



 回到顶部
帅哥哟,离线,有人找我吗?
小猴乖乖
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 等级:小飞侠 帖子:1750 精华:30 积分:16454 金钱:27454 金币:0 魅力:9296 威望:0 登陆:335 注册:2007/4/5 13:51:22 近访:2010/8/25 14:55:41 在线:在线0天0小时0分钟.
离升级差0天20小时0分钟.
目前等级0
  发帖心情 Post By:2007/8/12 5:54:50 [只看该作者]

Rootkit是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件、进程和网络链接刃畔ⅲ琑ootkit一般都和木马、后门等其他恶意程序结合使用。Rootkit通过加载特殊的驱动,修改系统内核,进而达到隐藏信息的目的。

  Windows Vista自身对恶意软件的防护主要是通过驱动程序数字签名、用户访问控制(UAC)和WindowsDefender来实现的,前两者对Rootkit类恶意软件的防御尤为重要。因为Rootkit的隐藏功能实现需要加载驱动,我们就先说说Vista的驱动程序加载管理:Vista驱动程序的安装加载管理和原有的Windows版本相比有较大的改进,在Microsoft的设计中,Vista不允许加载没有经过数字签名的驱动程序,而在之前的Windows2000、XP、2003系统上,系统虽然会在安装未签名或老版本驱动程序时会有提示,但安装好之后是能够加载的。

  出于Microsoft意料之外的是,“有数字签名的驱动程序才能被Vista所加载”这个设定对Rootkit类的防护作用并不是很大。去年的Blackhat会议上,曾有研究人员演示过在VistaX64Beta2版本上通过修改磁盘上页面文件来加载未经数字签名的驱动程序,虽然这个漏洞稍后被Microsoft补上,但已经说明通过技术手段来突破Vista的驱动加载管理并非不可能。但要突破Vista驱动加载管理的更好途径是在数字签名本身上做功夫,之前曾有安全研究人员提到,Vista驱动程序的数字签名申请的审核并不严格,只需要有合法的申请实体,并交纳少许的申请费用即可。这样,通过注册或借用一个公司的名义,Rootkit作者完全可以从Microsoft拿到合法的驱动数字签名,也就是说,很有可能会出现拥有Microsoft数字签名的、“合法”的Rootkit程序。攻击者还可以使用特殊的加载程序来加载没经数字签名的程序,安全公司LinchpinLabs最近就发布了一个叫做Astiv的小工具,这个工具实现的原理就是使用经过数字签名的系统组件来加载未经数字签名的驱动程序,而且用这种方式加载的驱动程序并不会出现在正常驱动程序列表中,更增强了加载目标驱动程序的隐蔽。

  用户访问控制(UAC)是Vista防御恶意软件的另外一个手段

  在开启了UAC的Vista系统上,用户的权限相当于被限制了的管理员权限,如果用户程序要对系统盘及注册表等地方进行修改的话,需要用户进行交互的二次确认。如果用户拒绝或者是目标程序比较特殊(比如木马、后门等)不出现UAC提示,因为对系统目录和注册表的访问被Vista所拒绝,除了极个别不写入系统目录的之外,大部分目标程序是无法安装成功的。Rootkit程序在UAC环境中同样会因为权限问题而无法安装成功,但很多情况下,攻击者会使用社会工程学的方法来诱骗用户信任攻击者所提供的程序,并在UAC提示时选择允许操作。

  至此可以得出一个结论,由于WindowsVista从设计开始就很重视安全性,因此对它推出之前的Rootkit等恶意软件的防御水平到达了一个新的高度,攻击者单纯靠技术手段攻击的成功率已经比在原先的Windows2000/XP/2003平台上大为下降。但我们也应该注意到,攻击者会更多的使用社会工程手段,伪造和利用各种信任关系,欺骗用户安装恶意软件。

  如何在Vista下对Rootkit类恶意程序进行防护?用户可以参考以下几点:

  1、保持Vista的系统补丁版本为最新。

  2、不在不可信的来源获取软件,并在安装使用时留意系统的各种提示,尤其是有关数字签名的提示。

  3、注意UAC的提示信息,及时拦截试图修改系统的危险操作。

  4、使用反病毒软件并保持病毒库版本为最新,为防护恶意软件多加一层保障。

  5、定期使用支持Vista的反Rootkit工具对系统进行扫描检查。

  【本文转自51CTO.com】



 回到顶部
帅哥哟,离线,有人找我吗?
小猴乖乖
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 等级:小飞侠 帖子:1750 精华:30 积分:16454 金钱:27454 金币:0 魅力:9296 威望:0 登陆:335 注册:2007/4/5 13:51:22 近访:2010/8/25 14:55:41 在线:在线0天0小时0分钟.
离升级差0天20小时0分钟.
目前等级0
  发帖心情 Post By:2007/8/12 5:55:12 [只看该作者]

 每次把移动硬盘插到USB口就会自动播放,尤其是移动硬盘分了N个区的时候,要手动一个一个的关掉,真是十分的麻烦!怎么样能解决这个问题呢?下面介绍几种关闭移动硬盘或者U盘自动播放的方法供大家参考:

  1、SHIFT按键法

  这个方法早在Windows98就用过了吧?好像是哦,反正我最早在关闭自动播放CD的时候就使用的这种方法。插入移动硬盘的时候按住SHIFT键,移动硬盘就不会自动播放啦。

  2、组策略关闭法

  在前段时间熊猫烧香流行的时候,网上就流传着使用组策略关闭移动硬盘或者U盘自动关闭功能的方法。具体如:单击“开始-运行”,在“打开”框中,键入“gpedit.msc”,单击“确定”按钮,打开“组策略”窗口。在左窗格的“本地计算机策略”下,展开“计算机配置-管理模板-系统”,然后在右窗格的“设置”标题下,双击“关闭自动播放”。单击“设置”选项卡,选中“已启用”复选钮,然后在“关闭自动播放”框中单击“所有驱动器”,单击“确定”按钮,最后关闭组策略窗口。

  3、关闭服务法

  在“我的电脑”点击鼠标右键,选择“管理”,在打开的“计算机管理”中找到“服务和应用程序-服务”,然后在右窗格找到“Shell Hardware Detection”服务,这个服务的功能就是为自动播放硬件事件提供通知,双击它,在“状态”中点击“停止”按钮,然后将“启动类型”修改为“已禁用”或者“手动”就可以了。

  4、磁盘操作法

  这个方法对Windows XP有效,也比较好用。打开“我的电脑”,在“硬盘”里面或者在“有可移动的存储设备”下面会看到你的盘符,一般移动硬盘的盘符会在“硬盘”中,U盘或者数码相机什么的在“有可移动的存储设备”中。鼠标右键点击需要关闭自动播放功能的盘符,选择“属性”,在弹出的窗体中选择“自シ拧毖∠羁ǎ谡饫镉没Э梢哉攵浴耙衾治募薄ⅰ巴计薄ⅰ笆悠滴募薄ⅰ盎旌夏谌荨焙汀耙衾諧D”五类内容设置不同的操作方式,都选用“不执行操作”即可禁用自动运行功能,“确定”后设置立即生效。这种方法同样使用于针对DVD/CD驱动器。

  5、注册表法

  注册表是个麻烦的东西,一般icech不建议使用注册表来修改。但是为了凑条目还是写上吧,呵呵。

  打开注册表编辑器,展开到[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExploer]主键下,在右窗格中找到“NoDriveTypeAutoRun”,就是这个键决定了是否执行CDROM或硬盘的AutoRun功能。

  NoDriveTypeAutoRun这个键决定了是否执行Autorun功能。其中每一位代表一个设备,不同设备用以下数值表示:

  设备名称 第几位 数值 设备用如下数值表示 设备名称含义

  DRIVE_UNKNOWN 0 1 01H 不能识别的类型设备

  DRIVE_NO_ROOT_DIR 1 0 02H 没有根目录的驱动器

  DRIVE_REMOVABLE 2 1 04H 可移动驱动器

  DRIVE_FIXED 3 0 08H 固定的驱动器

  DRIVE_REMOTE 4 1 10H 网络驱动器

  DRIVE_CDROM 5 0 20H 光驱

  DRIVE_RAMDISK 6 0 40H RAM磁盘

  以上值“0”表示设备运行,“1”表示设备不运行。

  6、软件法

  Tweak UI是Microsoft出品的软件,可以针对任何操作系统。使用Tweak UI软件,可以控制任意盘符是否可以自动播放。



 回到顶部
帅哥哟,离线,有人找我吗?
小猴乖乖
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 等级:小飞侠 帖子:1750 精华:30 积分:16454 金钱:27454 金币:0 魅力:9296 威望:0 登陆:335 注册:2007/4/5 13:51:22 近访:2010/8/25 14:55:41 在线:在线0天0小时0分钟.
离升级差0天20小时0分钟.
目前等级0
  发帖心情 Post By:2007/8/12 5:55:28 [只看该作者]

安装了杀毒软件之后,电脑是否就百分百安全了呢?非也,很多情况下由于用户自身操作不当,如未及时安装漏洞补丁、未及时升级病毒库等等,即使安装了杀毒软件,电脑也会面临各种安全隐患。

  那么面对大量的隐性威胁,用户该如何直观地判断自己的电脑是否安全呢?金山清理专家2.0独创的健康指数综合评分系统,一键式快速全面诊断,立刻就能知道你的电脑是否安全。

  金山毒霸反病毒专家戴光剑表示,启动金山清理专家2.0后,程序会自动根据系统补丁、杀毒软件的安装情况、磁盘垃圾文件的占用、可能存在的不安全加载项以及是否被安装恶意软件等进行综合评分,用户可根据分数的高低判断自己的电脑是否安全。而后清理专家将为用户提供一个解决问题的列表,用户很轻松就可以解决电脑存在的问题。

  据了解,之前金山系统清理专家定位为一款流氓软件的清除工具,但伴随着流氓软件危害的减弱,金山系统清理专家2.0进行了全面升级,除了能够清除恶意软件,更多地强化了对用户电脑的安全防护,除了可以为用户电脑的安全性进行评分外,还围绕目前日益严峻的网页挂马问题,增加了网页防挂马功能,通过保护用户的IE浏览器,避免用户在上网的时候,被木马利用漏洞入侵你的电脑。

  金山表示,作为一款永久免费的安全工具,必须紧随安全形势的变化,根据病毒以及安全威胁的特点,为用户提供最实用的安全服务,金山清理专家2.0集成了插件管理、抗Rootkit技术、启动清除技术(Bootclean)、系统漏洞修复、系统安全防护等多种安全功能;同时,还提供文件粉碎器、LSP修复、历史痕迹清理、垃圾文件清理等多种实用工具,能为用户的电脑提供最为便捷有效的安全保健。

  据一项网络调查显示,“87.62%的用户表示三个月内从未给电脑安装过任何系统补丁,92.14%的用户表示电脑越用越慢,46.2%的用户表示电脑系统很不稳定,经常无故重启,中国近九成上网计算机处于“亚健康”状态。”为了让更多的用户能够远离安全威胁,让自己的电脑摆脱“亚健康”,金山毒霸反病毒专家建议广大用户登陆www.duba.net下载免费的金山毒霸系统清理专家2.0,为自己的电脑做一次全面的体检!



 回到顶部
帅哥哟,离线,有人找我吗?
小猴乖乖
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 等级:小飞侠 帖子:1750 精华:30 积分:16454 金钱:27454 金币:0 魅力:9296 威望:0 登陆:335 注册:2007/4/5 13:51:22 近访:2010/8/25 14:55:41 在线:在线0天0小时0分钟.
离升级差0天20小时0分钟.
目前等级0
  发帖心情 Post By:2007/8/12 5:55:51 [只看该作者]

简单来说,域名劫持就是把原本准备访问某网站的用户,在不知不觉中,劫持到仿冒的网站上,例如用户准备访问某家知名品牌的网上商店,黑客就可以通过域名劫持的手段,把其带到假的网上商店,同时收集用户的ID信息和密码等。 

  这种犯罪一般是通过DNS服务器的缓存投毒(cache poisoning)或域名劫持来实现的。最近几个月里,黑客已经向人们展示了这种攻击方式的危害。今年3月,SANS Institute发现一次将1,300个著名品牌域名改变方向的缓存投毒攻击,这些品牌包括ABC、American Express, Citi和Verizon Wireless等;1月份,Panix的域名被一名澳大利亚黑客所劫持;4月,Hushmail的主域名服务器的IP地址被修改为连接到一家黑客粗制滥造的网站上。

  跟踪域名劫持事件的统计数据目前还没有。不过,反网页欺诈工作组(APWG)认为,这一问题已经相当严重,该工作组已经把域名劫持归到近期工作的重点任务之中。

  专家们说,缓存投毒和域名劫持问题早已经引起了相关机构的重视,而且,随着在线品牌的不断增多,营业额的不断增大,这一问题也更加突出,人们有理由担心,骗子不久将利用这种黑客技术欺骗大量用户,从而获取珍贵的个人信息,引起在线市场的混乱。

  虽然,域名劫持在技术上和组织上解决起来十分复杂。但是在目前情况下,我们还是可以采取一些措施,来保护企业的DNS服务器和域名不被域名骗子所操纵。

  破解困境

  DNS安全问题的根源在于Berkeley Internet Domain (BIND)。BIND充斥着过去5年广泛报道的各种安全问题。VeriSign公司首席安全官Ken Silva说,如果您使用基于BIND的DNS服务器,那么请按照DNS管理的最佳惯例去做。

  SANS首席研究官Johannes认为:“目前的DNS存在一些根本的问题,最主要的一点措施就是坚持不懈地修补DNS服务器,使它保持最新状态。”

  Nominum公司首席科学家、DNS协议原作者Paul Mockapetris说,升级到BIND 9.2.5或实现DNSSec,将消除缓存投毒的风险。不过,如果没有来自BlueCat Networks、Cisco、F5 Networks、Lucent和Nortel等厂商的DNS管理设备中提供的接口,完成这类迁移非常困难和耗费时间。一些公司,如Hushmail,选择了用开放源代码TinyDNS代替BIND。替代DNS的软件选择包括来自Microsoft、PowerDNS、JH Software以及其他厂商的产品。

  不管您使用哪种DNS,请遵循以下最佳惯例:

  1.在不同的网络上运行分离的域名服务器来取得冗余性。

  2.将外部和内部域名服务器分开(物理上分开或运行BIND Views)并使用转发器(forwarders)。外部域名服务器应当接受来自几乎任何地址的查询,但是转发器则不接受。它们应当被配置为只接受来自内部地址的查询。关闭外部域名服务器上的递归功能(从根服务器开始向下定位DNS记录的过程)。这可以限制哪些DNS服务器与Internet联系。

  3. 可能时,限制动态DNS更新。

  4. 将区域传送仅限制在授权的设备上。

  5. 利用事务签名对区域传送和区域更新进行数字签名。

  6. 隐藏运行在服务器上的BIND版本。

  7. 删除运行在DNS服务器上的不必要服务,如FTP、telnet和HTTP。

  8. 在网络外围和DNS服务器上使用防火墙服务。将访问限制在那些DNS功能需要的端口/服务上。

让注册商承担责任

  域名劫持的问题从组织上着手解决也是重要的一环。不久前,有黑客诈骗客户服务代表修改了Hushmail的主域名服务器的IP地址。对于此时,Hushmail公司的CTO Brian Smith一直忿忿不已,黑客那么容易就欺骗了其域名注册商的客户服务代表,这的确令人恼火。

  Smith说:“这件事对于我们来说真正糟透了。我希望看到注册商制定和公布更好的安全政策。但是,我找不出一家注册商这样做,自这件事发生后,我一直在寻找这样的注册商。”


 回到顶部
帅哥哟,离线,有人找我吗?
小猴乖乖
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 等级:小飞侠 帖子:1750 精华:30 积分:16454 金钱:27454 金币:0 魅力:9296 威望:0 登陆:335 注册:2007/4/5 13:51:22 近访:2010/8/25 14:55:41 在线:在线0天0小时0分钟.
离升级差0天20小时0分钟.
目前等级0
  发帖心情 Post By:2007/8/12 5:56:06 [只看该作者]

Nominum公司首席科学家、DNS协议原作者Paul Mockapetris说,升级到BIND 9.2.5或实现DNSSec,将消除缓存投毒的风险。不过,如果没有来自BlueCat Networks、Cisco、F5 Networks、Lucent和Nortel等厂商的DNS管理设备中提供的接口,完成这类迁移非常困难和耗费时间。一些公司,如Hushmail,选择了用开放源代码TinyDNS代替BIND。替代DNS的软件选择包括来自Microsoft、PowerDNS、JH Software以及其他厂商的产品。

  不管您使用哪种DNS,请遵循以下最佳惯例:

  1.在不同的网络上运行分离的域名服务器来取得冗余性。

  2.将外部和内部域名服务器分开(物理上分开或运行BIND Views)并使用转发器(forwarders)。外部域名服务器应当接受来自几乎任何地址的查询,但是转发器则不接受。它们应当被配置为只接受来自内部地址的查询。关闭外部域名服务器上的递归功能(从根服务器开始向下定位DNS记录的过程)。这可以限制哪些DNS服务器与Internet联系。
  
  3. 可能时,限制动态DNS更新。

  4. 将区域传送仅限制在授权的设备上。

  5. 利用事务签名对区域传送和区域更新进行数字签名。

  6. 隐藏运行在服务器上的BIND版本。

  7. 删除运行在DNS服务器上的不必要服务,如FTP、telnet和HTTP。

  8. 在网络外围和DNS服务器上使用防火墙服务。将访问限制在那些DNS功能需要的端口/服务上。

 回到顶部
帅哥哟,离线,有人找我吗?
小猴乖乖
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 等级:小飞侠 帖子:1750 精华:30 积分:16454 金钱:27454 金币:0 魅力:9296 威望:0 登陆:335 注册:2007/4/5 13:51:22 近访:2010/8/25 14:55:41 在线:在线0天0小时0分钟.
离升级差0天20小时0分钟.
目前等级0
  发帖心情 Post By:2007/8/12 5:56:31 [只看该作者]

SSH可以通过将联机的封包加密的技术进行资料的传递;使用SSH可以把传输的所有数据进行加密,即使有人截获到数据也无法得到有用的信息。同时数据经过压缩,大大地加快了传输的速度。总之,通过SSH的使用,可以确保资料传输比较安全并且传输效率较高。

  不过,并非所有人知道PHP可以与SSH连接的特性以及与执行远程命令的能力,不过这方面却非常有用。由于我们可以在很多不同的方面利用PHP,因此它有很多设置选项来控制其行为。一组庞大的可选参数能够保证您可以将 PHP 用于许多不同的目的,但这同时也意味着这些参数和服务端配置的组合会带来一些安全问题。笔者一直在PHP CLI应用程序中使用SSH,笔者是从cronjobs中使用它的,不过一开始并非十分简单,可以说颇费周折。关于安全使用Shell2 函数的手册也不是十分实用,笔者进行了多次试验之后才有了今天这篇小文章,愿您读了之后能为您配置PHP节省一点儿时间。

  在这篇文章中,笔者需要假设:

  你正在运行的操作系统是Debian / Ubuntu。如果你运行的不是Debian / Ubuntu,你可能需要用你的Linux发行版本提供的数据包管理器来替换本文对应内容。

  你运行的是PHP5.如果你运行的不是PHP5,可用PHP4代替之。

  你对PHP和服务器管理有基本的了解。

  你已经安装了PHP。

  先决条件

  安装程序包

  首先,让我们安装下面的程序包:

  sudo aptitude update

  sudo aptitude install php5-dev php5-cli php-pear buid-essential \

  openssl-dev zlib1g-dev

  安装完成进入下一步。

  编译libssh2

  在从sourceforge网站下载了Libssh2之后,我们需要编译它,不过不要担心,你只需要按照如下的方法操作:

  cd /usr/src

  wget http://surfnet.dl.sourceforge.net/sourceforge/libssh2/libssh2-0.14.tar.gz

  tar -zxvf libssh2-0.14.tar.gz

  cd libssh2-0.14/

  ./configure

  make all install

  如果你想检查是否有了一个新版本,可以查看SF.NET.不过,0.14这个版本就足够了。

  安装

  安装ssh2.so

  下一步,我们需要将libssh和 PHPr链接起来。有一个PECL模块可以完成这个功能。我们可以使用PEAR安装它。

  pear install -f ssh2

  -f参数确保SSH2被安装,即使并没有一个稳定的选择对象。你还可以使用如下的包名称:ssh2-beta来强行运行。

  现在你需要确保我们这个新的SSH2.SO模块被PHP加载。编辑你的php.ini文件(对于CLI实用程序:/etc/php5/cli/php.ini,对于Apache实用程序:/etc/php5/apache2/php.ini)

  extension=ssh2.so

  这应该放在“Dynamic Extensions”的下面,大约在第515行左右。

  PHP支持SSH编写代码

  你刚刚在PHP中启用了SSH2。那么现在应该如何利用它呢?有两个选择。SSH支持:

  1.执行方法:

  这告诉你的服务器的操作系统来执行什么东西,并且通过管道传回到你的脚本。

  2.外壳方法:

  这种方法在操作系统中打开一个实际的外壳,这正像通过终端应用程序登录时所操作的那样。有一些路由器并没有一个完全的POSIX一致性实施过程,而是在你登录时立即运行其自身的应用程序。这时你就需要这种方法。

  下面我们分别详述之:

  第一种方法:执行

  你最好为下面的代码创建函数或者是一个类,不过本文仅仅起到一个为您提供基本观念的作用,所以说你可以如此开始:

  if (!function_exists("ssh2_connect")) die("function ssh2_connect doesn't exist")

  // log in at server1.example.com on port 22

  if(!($con = ssh2_connect("server1.example.com", 22))){

  echo "fail: unable to establish connection\n";

  } else {

  // try to authenticate with username root, password secretpassword

  if(!ssh2_auth_password($con, "root", "secretpassword")) {

  echo "fail: unable to authenticate\n";

  } else {

  // allright, we're in!


 回到顶部
帅哥哟,离线,有人找我吗?
小猴乖乖
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 等级:小飞侠 帖子:1750 精华:30 积分:16454 金钱:27454 金币:0 魅力:9296 威望:0 登陆:335 注册:2007/4/5 13:51:22 近访:2010/8/25 14:55:41 在线:在线0天0小时0分钟.
离升级差0天20小时0分钟.
目前等级0
  发帖心情 Post By:2007/8/12 5:56:59 [只看该作者]

echo "okay: logged in...\n";

  // execute a command

  if(!($stream = ssh2_exec($con, "ls -al" )) ){

  echo "fail: unable to execute command\n";

  } else{

  // collect returning data from command

  stream_set_blocking( $stream, true );

  $data = "";

  while( $buf = fread($stream,4096) ){

  $data .= $buf;

  }

  fclose($stream);

  }

  }

  第二种方法:外壳

  同样道理,你也可以为如下的代码编写函数或者一个类。不过,本文仅仅提供基本观念:

  if (!function_exists("ssh2_connect")) die("function ssh2_connect doesn't exist")

  // log in at server1.example.com on port 22

  if(!($con = ssh2_connect("server1.example.com", 22))){

  echo "fail: unable to establish connection\n";

  } else {

  // try to authenticate with username root, password secretpassword

  if(!ssh2_auth_password($con, "root", "secretpassword")) {

  echo "fail: unable to authenticate\n";

  } else {

  // allright, we're in!

  echo "okay: logged in...\n";

  // create a shell

  if(!($shell = ssh2_shell($con, 'vt102', null, 80, 40, SSH2_TERM_UNIT_CHARS))){

  echo "fail: unable to establish shell\n";

  } else{

  stream_set_blocking( $shell, true );

  // send a command

  fwrite($shell,"ls -al\n");

  sleep(1);

  // & collect returning data

  $data = "";

  while( $buf = fread($shell,,4096) ){

  $data .= $buf;

  }

  fclose($shell);

  }

  }

  }

  小提示:

  有时服务器忙碌,或者一个连接出错,缓冲区没有数据,PHP脚本就会停止从一个命令输出(即使命令并没有完成!)中收集数据。你可以为此进行如下的操作:

  ssh2_exec($con, 'ls -al; echo "__COMMAND_FINISHED__"' );

现在,在你不断地检查缓冲区的循环中,只需要看一下COMMAND_FINISHED。因为你就可以知道你拥有了所有的数据。为了避免无限循环(死循环),可以用一个10秒的超时限制:

  $time_start = time();

  $data = "";

  while( true ){

  $data .= fread($stream, 4096);

  if(strpos($data,"__COMMAND_FINISHED__") !== false){

  echo "okay: command finished\n";

  break;

  }

  if( (time()-$time_start) > 10 ){

  echo "fail: timeout of 10 seconds has been reached\n";

  break;

  }

  }

  在上面的例子中,你最好将stream_set_blocking设为false。

  通过SSH发送文件

  ssh2_scp_send($con, "/tmp/source.dat", "/tmp/dest.dat", 0644);

  如果不能正常工作

  请检查如下的几个方面:

  依照本文检查你操作的每一步

  在服务器端,在sshd_config 中必须启用“PasswordAuthentication yes”。在大多数服务器上默认值是yes,不过有些情况下,你可能需要将下面的一行加入到文件中,即亲自动手打开这个功能:

  /etc/ssh/sshd_config:

  # Change to yes to enable tunnelled clear text passwords

  PasswordAuthentication yes

  如果作了改变,就需要重新启动SSH:

  /etc/init.d/ssh restart


 回到顶部