实现远程控制linux系统和实现linux系统文件共享
下载后可任意编辑 实现远程控制linux系统和实现linux系统文件共享 telnet 不是很安全,那么我又需要以远程联机服务来操控我的 Linux 主机,那么应该怎么办呀最好的方法当然就是以较为安全的联机机制的方案来解决联机的问题那么该如何解决这样的问题呢这也不难啦,使用 SSH 即可。那么 SSH 是什么呢他有什么特异功能简单的来说,SSH 是 Secure SHell protocol 的简写,他可以经由将联机的封包加密的技术,来进行资料的传递,因此,资料当然就比较安全啰这个 SSH 可以用来取代 Internet 上面较不安全的 finger, R Shell rcp, rlogin, rsh 等指令, talk 及 telnet 等联机模式。底下我们将先简介一下 SSH 的联机模式,来说明为什么 SSH 会比较安全呢 特别注意这个 SSH 协议,在预设的状态中,本身就提供两个服务器功能 1. 一个就是类似 telnet 的远程联机使用 shell 的服务器,亦即是俗称的 ssh ; 2. 另一个就是类似 FTP 服务的 sftp-server 提供更安全的 FTP 服务。 (备注联机加密技术简介 基本上,加密的技术通常是藉由所谓的『公钥与私钥』亦即『Public and Private keys』来进行加密与解密的动作如下图所示,当 SSH 激活服务之后,会产生一支公钥,而身为个人计算机的你,在进行与 server 的联机时,可以藉由自己产生的私钥来提供 server 的联机之用,也可以直接藉由 server 提供的私钥来进行联机这个与进行联机时选择的加密版本有关,这个等一下我们再提 在上面的图标中,我们可以知道,当数据由 Server 端传送到 Client 端时,这些资料会先经过『公钥, Public Key』来进行加密的行为,所以,在传输的过程中,这些资料本身是经过加密的,因此,即使这些资料在途中被截取时,要破解这些加密的资料,还是得要花费上好长一段时间的。那么等这些经过公钥加密的资料传送到 Client 端之后,就可以藉由所谓的『私钥, Private Key』来进行解密的动作。需要注意的是,这些公钥与私钥在每一部计算机上面都不一样,所以,你与 Server 的联机对其他人来说,都是很难去破解的呢那么这些公钥与私钥是如何产生的呢底下我们来谈一谈目前 SSH 的两种版本的联机模式啰 o SSH protocol version 1 每一部主机都可以使用 RSA 加密方式来产生一个 1024-bit 的 RSA Key ,这个 RSA 的加密方式,主要就是用来产生公钥与私钥的演算方法这个 version 1 的整个联机的加密步骤可以简单的这么看 1. 当每次 SSH daemon sshd 激活时,就会产生一支 768-bit 的公钥或称为 server key存放在 Server 中; 2. 若有 client 端的需求传送来时,那么 Server 就会将这一支公钥传给 client ,而 Client 藉由比对本身的 RSA 加密方式来确认这一支公钥; 3. 在 Client 接受这个 768-bit 的 server key 之后,Client 自己也会随机产生一支 256-bit 的私钥host key,并且以加密的方式将 server key 与 host key 整合成一支完整的 Key ,并且将这支 Key 也传送给 server ; 4. 之后,Server 与 Client 在这次的联机当中,就以这一支 1024-bit 的 Key 来进行资料的传递 当然啦,因为 Client 端每次的 256-bit 的 Key 是随机取的,所以你这次的联机与下次的联机的 Key 就会不一样啦 o SSH protocol version 2 与 version 1 不同的是,在 version 2 当中将不再产生 server key 了,所以,当 Client 端联机到 Server 端时,两者将藉由 Diffie-Hellman key 的演算方式来产生一个分享的 Key ,之后两者将藉由类似 Blowfish 的演算方式进行同步解密的动作 每一个 sshd 都提供这两个版本的联机,而决定这两种模式联机的,就必需要在 client 端联机时选择联机的模式才能确认。目前预设情况下,会自动使用 version 2 的联机模式喔而由于我们的联机资料中,经过了这个 Public 与 Private Key 的加密、解密动作,所以在中间的传送过程中,当然就比较安全的多了) 首先激活 ssh 服务 事实上,在我们使用的 Linux 系统当中,预设就已经含有 SSH 的所有需要的套件了这包含了可以产生密码等协议的 OpenSSL 套件与 OpenSSH 套件,所以呢,要激活 SSH 真的是太简单了就直接给他激活就是了此外,在目前的 Linux Distributions 当中,都是预设激活 SSH 的,所以一点都不麻烦,因为不用去设定,他就已经激活了哇真是爽快~无论如何,我们还是得说一说这个激活的方式吧直接激活就是以 SSH daemon ,简称为 sshd 来激活的,所以,手动可以这样激活 上面两种方式都可以直接手动激活 sshd 这个服务然后使用 netstat -tl 看看能不能看到 ssh 的服务在监听呢假如出现了上面那一行黄色字体,就表示您的 SSH 已经正确的激活啰这真是太简单了吧没错,但是他就是这么简单~ 那么我要如何在开机的时候就激活这个 sshd 呢假如是 Red Hat 的系统,可以使用 ntsysv 这支程序,而 Mandrake 可以使用 chkconfig 这个程序至于 OpenLinux 则可以到 /etc/sysconfig/daemons 去看看喔 这个方式仅适合在已经有 OpenSSH 的 Linux Distributions 当中,假如以 Red Hat 6.x 为例,他并没有预设使用 SSH 怎么办别担心,可以参考一下底下这个鸟哥之前写过的网页,有详细的说明使用 tarball 安装的步骤呢 使用 Tarbal 安装 SSH 以及升级 SSH 可能会遇到的问题说明 需要注意的是, SSH 不但提供了 shell 给我们使用,亦即是 ssh protocol 的主要目的,同时亦提供了一个较为安全的 FTP server ,亦即是 ssh-ftp server 给我们当成是 FTP 来使用所以,这个 sshd 可以同时提供 shell 与 ftp 喔而且都是架构在 port 22 上面的呢所以,底下我们就来提一提,那么怎么样由 Client 端连接上 Server 端呢同时,如何以 FTP 的服务来连接上 Server 并且使用 FTP 的功能呢 ssh 客户端联机 ssh, putt