让你的Linux更安全──SSH的安装和使用 董翔 2001年 26期 SSH(Secure Shell)是一套安全的网络连接程序,它可以让你通过网络连接至其他电脑,在其他电脑上执行程序,在电脑之间拷贝文件,它甚至可以提供更安全的X连接,而且这些连接都是在编码的保护下完成的。安装了SSH后就可以将不安全的 Telnet和FTP关掉了。SSH当前的最新版本是SSH2。虽然上述各项功能,用早期BSD所提供的r指令(rsh,rlogin,rcp)几乎都能完成,但r指令所提供的连接并没有经过编码加密,有心人只要使用合适的工具就能够截下你所输入的每一个字,包括密码。如果你利用X protocol在远端机器执行X程序,别人也可以截下你传输的资料,当然也包括密码。而SSH就针对了这些弱点做了改进,对所传输的资料加以编码。   #1一、SSH的特点   SSH2对SSH1的程序代码做了大幅度的改写,根据SSH公司的说法,SSH2有98%的程序代码和SSH1不同。除了SSH1所提供的RSA法之外,SSH2也提供了另外的公开金匙编码法以及金匙交换法,SSH2预设了采用DSA编码以及Diffie-Hellman金匙交换法。此外,更提供了sftp,使我们能在ftp方面也得到安全的保障。   #1二、软件下载   我们可以到如下三个地方下载该软件:   下载位置1:ftp://ftp.ssh.com/pub/ssh/   下载位置2:http://Linuxnews.idv.tw/download/ssh-1.2.31.tar.gz   1MB for Linux Server   下载位置3:http://Linuxnews.idv.tw/download/SSHWin-2.4.0-pl2.exe   5MB for Win32 Client   安装环境:Redhat7.0   #1三、软件安装   1.下载完后将文件解压缩   tar zxvf ssh-1.2.31.tar.gz   2.开始编译,安装   cd ssh-1.2.31   ./configure   make   make install   3.编辑 /etc/rc.d/rc.local,加入/usr/sbin/sshd以便开机自动启动。   4.完成   如果你有两台Linux机器要相连,那么它们都必须要装这个程序;如果是Windows系统,要连接Linux系统的话,那么,Windows系统就必须要安装for winxx程序。for winxx部分的请读者自己试试。   #1四、SSH的使用   /usr/bin/ssh -l username 187.136.5.1   输入密码,连接进入后就是一般的文字界面,就可以开始使用了。另外,ssh可以直接使用root登入。   1.限制IP   如果你要对连接进来的IP作限制的话,可以编辑/etc/hosts.deny和 /etc/hosts.allow文件,示例如下:   /etc/hosts.deny:   ALL:ALL   #禁止所有IP使用所有的服务   /etc/hosts.allow:   sshd:111.222.333.444   #开放111.222.333.444使用 ssh 连接进来   2.利用SSH来实现FTP   (1)Linux 对 Linux上传文件,如:   scp wrong.php bha@187.136.5.1   这时会询问你密码,输入密码即可。   说明:   scp 是指令   wrong.php 是本地端的文件名   bha@187.136.5.1 是远端的用户名和IP   记住最后那个冒号一定要加,那是远端机的home目录   (2)Linux 对 Linux下传文件,如:   scp bha@187.136.5.1:wrong.php .   说明:   用 scp 将 bha@187.136.5.1目录的wrong.php拷贝到目前的目录(就是那个)   (3)Windows系统对Linux系统传文件   我们可以使用for winxx程序来进行相关操作,请记住下面的指令:   ls:对应dir命令   et:下传文件   put:上传文件   exit:退出 ftp 程序   如我们可以使用指令psftp-x86 187.136.5.1 来进行连接,这时程序会询问名字密码和要不要产生加密键值,我们可以选择相关项后再用put和get来上传或下传文件。