1.1 使用Telnet Telnet经典的远程管理服务,源于1969年的ARPANET,全称是Telecommunication Network Protocol,虽应其明文传输信息造成的安全隐患颇遭人非议,仍是当今使用得最多的远程管理方式之一 需要启动两个程序,一是服务器端程序,一是客户端程序 客户程序: l 建立与服务器的连接 l 从键盘上接受输入的字符 l 把输入的字符串变成标准格式并送给远程服务器 l 从远程服务器接收输出信息 l 并将返回信息显示在屏幕上 1.1.1 使用Telnet客户端 l 启动Telnet客户端 【root@localhost root】# telnet 若对方系统运行有Telnet服务程序,便可进行用户登录和口令验证后,就可进入到远程系统中,可以进行权限操作了 l 使用Telnet命令 # telnet ] telnet常用参数 参数 Description -l user 若远程登录可以设置环境变量,就把USER变量设置为user -x 若有加密功能,就打开这个功能 Host 所要登录的主机的IP地址或主机名 Port 服务器的服务端口,默认情况下为端口23 l 使用Telnet服务器 默认Redhat Linux9安装时,Telnet服务器已经安装在系统中,但并没有被启动,有两种方法可以启动: n 在命令行模式下,键入setup,进入系统配置菜单,选择System Service,重启后每次都会启动 n 图形界面下,【启动程序】【系统设置】【服务】 Telnet不仅可以用在同种操作系统之间的系统登录,还可以应用于不同操作系统之间的远程登录,而rsh,rloging等只能用于Linux和Unix之间 Telnet使用的明文,没有加密功能等缺点,会带来很大的管理风险 1.2 使用更安全的SSH SSHSecurity Shell l 产生SSH的原因 Man-in-the-middle 中间人冒充真正的服务器接收客户机传给服务器的数据,然后在冒充客户机把数据传给真正的服务器。这样便可未经验证而获取服务器和客户机的信任,从而进行非法操作。 SSH不仅可以对数据进行加密,由于进行了数据压缩,可加快传输的速度,既可以替代Telnet,又可以为FTP,POP3甚至PPP等应用协议提供一个安全的加密通道 l SSH的实现 1.x和2.x版本,不兼容, Open SSH l 配置OpenSSH服务器 OpenSSH服务器在系统 安装时,设置已经安装在系统中,Red Hat Linux9 中将默认的远程管理服务设置为OpenSSH而不是Telnet,是推荐用户使用安全性更高的OpenSSH进行远程登录操作 n SSH配置文件 u /etc/ssh/ssh_config n 启动服务器 u 【启动程序】【系统设置】【服务】 u # service sshd start n 重启服务器 u #service sshd restart n 停止服务器 u # service sshd stop n 其他报警信息 u 出现: @ WARNING: REMOTE HOST INDENTIFICATION HAS CHANGED! @ 这是由于在系统重新安装时也同时产生了身份密钥,因此是用原来的客户端设置访问,会产生RSA主机密钥改变的报警 u 处理: 要避免上述情况的发生,在重新安装系统之前备份/etc/ssh/ssh_host *key*文件,在重装系统后,把备份文件恢复到原来的目录下。 l 使用OpenSSH客户端 n 基于口令的验证方式 需要一个和服务器存在的用户名登录,同样帐号。 u # ssh 192.168.10.1 u # ssh username@192.168.10.1 u # ssh l username 192.168.10.1 u 如果是第一次登录到OpenSSH服务器,会看到如下信息: The authenticity of host 192.168.10.1 cant be established. DSA key fingerprint is ********* Are you sure you want to continue connecting (yes/no)? 输入yes后: Warning: Permanently added 192.168.10.1 (RSA)to the list of known hosts 表示,已经将服务器加入到用户的~/.ssh/honown_hosts(记录的已知主机名单)。 提示输入帐号口令进行验证。验证正确后,用户便可成功登录到远端系统中。 n 基于密钥的验证方式 首先需要为自己创建一对密钥,OpenSSH支持的公开密钥体制有RSA、DSA u # ssh -keygen t rsa l 默认的密钥存放目录为~/.ssh/id_rsa,之后系统提示你输入密钥时的口令,输入并确认,便产生了公钥~/.ssh/id_rsa.pub和私钥~/.ssh/id_rsa 一定要保存好自己的私钥,否则私钥一旦被他人获得,则可以冒充你登录到服务器中。 l 使用chmod 755 ~/.ssh 命令更改 ~/.ssh目录的权限为755 l 将公钥复制到想要登录到服务器 ~/.ssh/目录下,并把文件改名为authothorized_keys l 完成以上步骤后,便可以用密钥的验证方式登录远程服务器了 l # ssh n 使用OpenSSH还可以在不登录远程系统的情况下,在远程系统上执行命令,格式 u # ssh u #ssh 192.168.10.1 ps -A n OpenSSH 还提供了两个在网络中保密地传输文件的小工具,scp和sftp u Scp,可以将本地文件复制到远程系统中,也可将远程文件复制到本地系统中 u #scp localfile username@tohostname:/newfilename u #scp username@tohostname:/newfilename localfile u Sftp可以打开一个安全的ftp会话,除了使用一个安全、加密的连接以外,其他方面都与通常所用的ftp命令十分相似,sftp在OpenSSH的version2.5.0pl或更高版本中才提供。 l 使用Windows的SSH客户端 n 使用Window系统的SSH客户端远程登录到red hat Linux,需要选用第三方客户端软件 如SecureCRT u 可以管理多个主机,在不同的窗口之间切换。 l 功能强大,容易使用 l 自动注册、对不同主机保持不同的特性、支持打印、颜色可设置、可变屏幕尺寸、用户定义键位图、优良的VT100、VT102、VT220和ANSI兼容性 l 支持DES、3SDES、RC4等对称密码,以及RSA等公钥密码的鉴别 l http://www.vandyke.com/ 1.2.1 文件传输工具 可在图形区域内直接将图形进行拖动处理,这个图形界面和一般的ftp的Windows界面是一致的。 1.3 图形化的远程管理工具1.3.1 VNC概述 l Cambridge大学的ATT实验室开发。一种远程显示系统。 l 支持Unix,Linux,Windows,Macintosh l VNC客户端支持的环境有X Windows, Windows, Windows CE, Macintosh, Java l 1.3.2 使用VNC服务器 #rpm version 可以查看到VNC的版本号 l 启动VNC服务器 n # vncserver l 配置VNC服务器 n 设置VNC显示环境 u # vncserver geometry 800*600 depth 16t n 停止VNC服务器,在不使用时,建议停止,以防止他人使用VNC客户端连接你的系统。 u Vncserver kill :n 1.3.3 VNC客户端 l 下载VNC客户端连接, l 也可通过以下方式连接:http://:5800+显示装置编号 n http://192.168.3.137:5801/ n 认证后也可进行连接。 1.4 更加安全地使用VNC l 利用SSH的安全性和VNC的方便性结合起来,形成应用安全的远程管理界面 1.4.1 工作原理 VNC是使用未加密的明文进行通讯的,存在安全隐患,尤其在远程控制系统非常关键,或是在传输中的信息十分重要的时候。 OpenSSH不仅仅只是一种安全的远程管理工具,同时可以为其他各种网络应用提供一个安全保密的隧道,即OpenSSH的端口转发功能(Port Forwarding) 端口转发的工作原理是:把 本地客户端的一个端口映射为远端服务器的服务端口。 SSH允许用户映射服务器的任一服务端口到本地客户机的任何没有使用的端口上,这样就可以在本地和远程服务器之间通过SSH建立一条加密通道。所有对本地映射端口的请求都被SSH加密,然后转发到远程服务器的端口上。 l 配置过程 n 检查SSH配置 u # telnet 22 n 建立安全隧道 u 要创建一个TCP/IP端口转发隧道,执行如下命令 u #ssh L localport:remote-hosrname:remote-port username@hostname l Local-port 指明本地尚未被使用的端口号 l Remote-hostname 指明需要被映射的远程服务器名或IP地址 l Remote-port 指明需要被映射的远程服务器的服务端口号 l username@hostname 指明本地的用户名和主机名 u 当客户机和主机之间的线路带宽较窄时,可以使用参数-c 开启数据压缩 ,使SSH在转发数据之前先进行数据压缩 n 建立SSH端口映射 u 具体生成将VNC浏览器和服务器通过SSH端口映射的过程:这样可对连接进行加密 u #ssh L 5902:192.168.10.2:5901 192.168.10.1 u 执行VNC浏览器VNCView并输入本地主机名和显示设备代号,设备代号由本地端口号-5900得出。 u 输入VNC服务的验证口令