使用OpenSSH 建立更有效的安全性能老Linux管理员们都知道SSH(安全shell协议),这是他们软件工具箱中最便利最有用的工具。在工作站X Windows环境下使用多端竞争或者通过Screen utility,Linux服务器管理员或者其它基于Unix操作系统的服务器管理员,能轻松地同时管理几个系统。网络管理shell或者Perl脚本,能利用SSH在多个服务器上简单安全地自动执行工作。 网络shell效应RSH比SSh要长。但是SSH在其功能中添加了强大的加密功能和数据压缩功能,并且大多数现代SSH实现在同一包内提供SFTP和SCP,它们用于网络中的安全文件传输。 最流行最普遍的SSH实现以OpenSSH的形式出现,它是由OpenBSD社团构思和维护的项目。OpenSSH被导入每一个操作系统平台,包括微软的Windows,虽然在Window环境中它最广泛的应用是:做为基于Unix系统上的OpenSSH服务器的客户端。这些基于Unix系统包括:Linux、Solaris和OpenBSD。 SSH的职责 SSH 使用强大的加密功能保护远程会议不被怀有恶意的黑客攻击。从始至终都提供端到端的安全保障,包括客户机与主机进行联系,以及在电脑之间传输用户名和口令之前建立会议专用的密码键交换。它可以使用多种不同的密码方案:AES、3DES、Blowfish以及其它方案。受信任的主机鉴定方案和系统之间键值交换提高安全性,OpenSSH不需要安全证书或优先键交换即可创建安全加密的远程会议。 另外,使用SSH可以解决某些类型的网络拥塞,明显加速网络,因为它在传输数据前先对数据进行了压缩。它通过SFTP加密,能提供类似于FTP的交互式文件传输能力,所以,甚至口令和用户名在网络上传输都没有阻碍。对于文件传输操作,SCP也类似地提供安全而方便的途径完成此项工作——加密的文件拷贝命令,此命令操作网络连接,它是SSH实现的一部份。 SSH是加密交流中众所周知的网络协议。开发它是为了取代RSH效用,RSH也加了密,但是不够安全。SSH不仅继承了RSH的功能,而且扩展加强了其功能,特别是安全性方面。 Linux的OpenSSH Linux上安装OpenSSH是很容易的。例如,在Debian GNU/Linux系统上,安装OpenSSH时,做为根用户登录,然后输入命令apt-get install ssh即可。类似地,在Fedora Core Linux系统上,安装OpenSSH时,做为根用户登录,然后输入命令yum install ssh即可。你甚至不需要做这些事情,因为在Debian 和Fedora Core中,它们默认安装配置中已经包含了OpenSSH。对于Linux系统来说,如果要确定系统是是否已经安装了OoenSSH,只需要输入命令: ssh。如果系统中安装了OpenSSH,则会给出简单的使用指南信息(Listing A):
Listing A $ ssh usage: ssh [-1246AaCfgkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec] [-D port] [-e escape_char] [-F configfile] [-iidentity_file] [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-R [bind_address:]port:host:hostport] [-S ctl_path] [user@]hostname [command]
在OpenSSH说明书上有更完整的使用信息。这个说明书是传统UNIX文件手册系统的一部分,并且在命令行模式下输入man ssh命令,即可访问OpenSSH说明书。说明书提供了OpenSSH客户端命令行选项的信息,关联的配置文件信息、当前版本已知的Bug信息,影响其操作的shell环境变量信息,以及相关说明列表。正如列表所示,上面有sshd的说明书,有ssh-agent的说明书,以及OpenSSH工具集里其他应用的说明书。 配置并使用Linux 客户端 在OpenSSH客户端上,从命令行访问OpenSSH服务器上的其他系统时,仅仅只需要输入ssh host命令,这里“host”是目标系统的主机名。有时候这个主机名不能被解析成IP地址,因为你没有那个系统的DNS,并且它没有在本地系统的/etc/hosts文件中列出来。此时有必要指定目标系统的IP地址而不是主机名,例如:输入ssh 192.168.0.1命令,连接此IP表示的系统。更多的SSH命令如下: SSH一般使用端口22。如果SSH服务器侦听一个不标准端口,使用下面命令,示例端口号为1234: ssh -p 1234 host 除非指定了用户名,否则它把试图登录到一个远程系统,此时用户名与本地系统上的用户名相同。可以使用命令选项指定不同的用户名。下面给出了一般格式,“user”表示用户名。 ssh -l user host 一个更普遍的指定用户名的方法是使用下面的格式: ssh user@host 通过SSH而不需要打开shell界面即可以在目标系统上执行命令。下面例子中的“command”表示想要执行的命令: ssh host command 可以在目标系统上指定当前工作路径。在下面的示例中,指定了/home/user为当前工作路径: ssh host:/home/user 可以把上面的多个选项组合到一块,形成更复杂的定制操作: ssh -p 1234 user@host:/home/user ssh -l user host command OpenSSH配置文件位于路径/etc/ssh下。OpenSSH客户端主要的配置文件在/etc/ssh/ssh_config路径下,大多数版本都包含足够的解释信息,告诉你怎么使用配置文件。对于有广泛而复杂的说明书系统的版本,例如Debian,可以使用man ssh_config命令,获得足够多的OpenSSH客户端配置信息。 对于安全性而言,一个普遍而重要的配置选项是ForwardX11,它应该被设置成“NO”,从而阻止SSH客户端向网络自动发送X Windows系统信息,甚至在通过SSH连接而没有使用X Windows时,也是一样。使用这个设置,可以指定特定的SSH连接,通过使用- X命令选项,传送X Windows系统信息。在etc/ssh/ssh_config文件中其它配置选项也能执行和服从安全政策,并且可以服务于特殊的安全需要。
上一篇:教你怎么样解决Sendmail服务器安全问题 下一篇:怎么样配置Linux系统安全管理服务 更多相关文章
|
推荐文章
精彩文章
|