小女生的Linux技术~~~自动化管理 远程登录
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-16
Telnet 和 SSH 协议是 Internet 远程登录服务的标准协议和主要方式,它们为用户提供了在本地机器上完成远程机器上工作的能力.用户使用 Telnet 或者 SSH 软件连接远程服务器,在 Telnet 或者 SSH 软件中输入的命令就会在服务器上运行.Telnet 协议本质上是不安全的,它使用明文传送数据、用户账号和口令,很容易受到中间人攻击方式的攻击;而 SSH 协议则是比较可靠、专为远程登录会话和其他网络服务提供安全性的协议.通过 SSH 可以对所有传输的数据进行加密,也能够防止 DNS 欺骗和 IP 欺骗.本文主要针对 SSH 协议进行阐述,使用的 SSH 软件是 OpenSSH,它是开放源代码的免费的 SSH 替代软件包. 用户使用 Telnet 或者 SSH 登录不同的操作系统,会得到不同的返回信息.用户可以编写程序根据运程登录的返回信息进行判断和处理,从而实现远程服务器系统的自动化登录.本文将先介绍实现远程自动化登录用到的技术,再详细介绍如何实现 Unix/Linux 系统间远程登录自动化. 远程系统自动化登录机制简介 所谓自动化远程登录,是指在用户不干预的情况下,不需要手动输入密码,就能登录到远程系统.目前远程登录工具有两种安全认证方式. 基于用户口令的安全认证 当使用登录账户登录时,根据提示输入口令,SSH 就会用安全密码认证协议,将加密传送给 SSHD 服务器.认证成功后,就可以登录到 SSHD 服务器. 针对这种安全认证方式,可以让程序自动输入用户名和密码,实现自动化登录.目前可以用 expect, C 或 Perl 来实现.如果采用 C, 需要很熟悉 TCP/IP 协议,实现起来比较复杂;如果用 expect, expect 是基于 Tcl 的,需要熟悉 Tcl 语法;如果用 perl 实现,需要采用 perl 的 expect.pm 这个包.但需要用户输入口令,因此这种认证方式存在着安全隐患. 基于 SSH key 交换的安全认证方式 用户需要先在 SSH 客户端为登录账户创建一对密匙:私钥(private key)和公钥 (public key),然后把公钥传送到要登录的 SSHD 服务器上.当用户使用 SSH 客户端登录 SSHD 服务器时,SSH 客户端就会向 SSHD 服务器发出用登录帐户的密钥进行安全验证的请求;SSHD 服务器收到请求,先在登录帐号的主目录下寻找对应的公钥,并与客户端发送过来的公钥进行对比;如果两个密钥一致,SSHD 服务器会用公钥加密“质询”(challenge),发送给 SSH 客户端;SSH 客户端收到“质询”之后用客户端的私钥解密,再把它发送给 SSHD 服务器.这样就完成了安全认证的整个过程. 使用基于 SSH key 交换的认证方式,用户只要将在 SSH 客户端生成的公钥复制到远程的 SSHD 服务器.当通过 SSH 客户端登录 SSHD 服务器时,用户不需要输入密码,就可以自动登录到远程 SSHD 服务器.这种方式不仅简便,避免了用户名和密码的泄露,比第一种方式要安全. 使用 Expect 的自动化登录 Expect 的基础知识 Expect 是由 Don Libes 基于 Tcl 语言开发的,并被广泛应用于交互式操作和自动化测试的场景之中,它尤其适用于需要对多台服务器执行相同操作的环境中,可以大幅度得提高系统管理人员的工作效率.目前,大部分 Unix/Linux 系统安装有 expect. 万一系统中没有,可以从 http://expect.nist.gov/ 下载相应的包安装. Expect 作为基于 Tcl 的高级语言,增加了一些特殊的语法.传统意义上的 Expect 是以 Tcl 扩展包的形式出现的,任何 Tcl 语言编写的应用程序都可以加载 Expect 功能;此外,Expect 已经以模块的方式移植到了 Perl 和 Python 语言中,因此用户同样可以在 Perl 和 Python 脚本中利用 Expect 强大的交互功能. Send,expect 和 spwan 是 Expect 语言最基本的命令.其中,send 命令会发送字符串给指定进程(process); expect 命令会等待接受该进程返回的结果并且会根据返 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于小女生的Linux技术~~~自动化管理 远程登录的所有评论