在Linux上运行各种服务的配置


SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。SSH有两个版本,我们现在介绍的是版本2。

一、安装SSH

  具体步骤如下:

  • 获得SSH软件包。 (ftp://:/pub/unix/ssh-2.3.0.tar.gz)
  • 成为超级用户(root).
    注意,如果你希望用tcp_wrappers来控制SSH,那么在configure时需要加上选项“--with-libwrap=/path/to/libwrap/”, 用来告诉SSH关于libwrap.a 和tcpd.h的位置。
  • # gzip –cd ssh-2.3.0.tar.gz |tar xvf –
  • # cd ssh-2.3.0
  • # ./configure
  • # make
  • # make install

和SSH有关的程序都放置在/usr/local/bin下,包括ssh,sftp,sshd2, ssh-keygen等。


二、配置

SSH的配置文件在/etc/ssh2下,其中包括sshd2的主机公钥和私钥:hostkey和hostkey.pub。这两个文件通常是在安装SSH时自动生成的。你可以通过下面的命令重新来生成它们:

# rm /etc/ssh2/hostkey*

#ssh-keygen2 –P /etc/ssh2/hostkey

而ssh2_config 文件一般情形下无需修改。


三、启动sshd2

每个要使用SSH的系统都必须在后台运行sshd2。用手工启动:

#/usr/local/bin/sshd2&

可以在“/etc/rc2.d/S99local”中加入该命令,这样系统每次启动时会自动启动sshd2。


四、用tcp_wrappers控制SSH

安装SSH的站点可以用tcp_wrappers来限制哪些IP地址可以通过ssh来访问自己。比如,在/etc/hosts.allow中加入

sshd,sshd2: 10.0.0.1

那么只有10.0.0.1可以通过ssh来访问该主机。

以上都是系统管理员完成的工作。下面我们说说普通用户如何使用SSH。


五、基本应用

每个用户在使用SSH之前,都要完成以下步骤:

  • 在本地主机(比如,)上生成自己的ssh公钥和私钥。命令如下:
    local#ssh-keygen
    Generating 1024-bit dsa key pair
    1 oOo.oOo.o
    Key generated.
    1024-bit dsa, teng@ns, Fri Oct 20 2000 17:27:05
    Passphrase :************ /*在此输入你的口令,以后访问这台主机时要用。
    Again :************ /*
    Private key saved to /home1/teng/.ssh2/id_dsa_1024_a
    Public key saved to /home1/teng/.ssh2/id_dsa_1024_a.pub
    生成的私钥和公钥(id_dsa_1024_a和id_dsa_1024_a.pub)存放在你家目录的~/.ssh2目录下。和用户相关的SSH配置文件都在~/.ssh2下。私钥由用户保存在本地主机上,而公钥需传送到远地主机的你自己的帐号的~/.ssh2下,如果你要用ssh2访问本地主机的话。
     
  • 在~/.ssh2下创建“identification”文件用来说明进行身份认证的私钥。命令如下: local:~/.ssh2#echo "IdKey id_dsa_1024_a" > identification
  • 同样地,在远地主机(比如,)上完成上面步骤。
  • 将本地()下你自己(这里是“teng”)的公钥(id_dsa_1024_a.pub)拷贝到远地主机()上你自己家目录下的.ssh2目录下,可命名为“local.pub”,一般用ftp上传即可。
  • 在远地主机上,你自己家目录的.ssh2目录下,创建“authorization”文件,其中指定用来进行身份认证的公钥文件。命令如下: remote:~/.ssh2#echo “Key local.pub” > authorization
  • 现在你可以从本地用ssh2登录到远地系统了。命令如下: local# ssh
    Passphrase for key "/home1/teng/.ssh2/id_dsa_1024_a" with comment "1024-bit dsa,
    teng@ns, Fri Oct 20 2000 17:27:05":***********
    这时会要你输入你的ssh口令(Passphrase)。验证通过后,即登录到remote主机上。