SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。SSH有两个版本,我们现在介绍的是版本2。
一、安装SSH
具体步骤如下:
获得SSH软件包。 (ftp://ftp.pku.edu.cn:/pub/unix/ssh-2.3.0.tar.gz)
成为超级用户(root).
# gzip –cd ssh-2.3.0.tar.gz |tar xvf –
# cd ssh-2.3.0
# ./configure
注意,如果你希望用tcp_wrappers来控制SSH,那么在configure时需要加上选项“--with-libwrap=/path/to/libwrap/”, 用来告诉SSH关于libwrap.a 和tcpd.h的位置。
# 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之前,都要完成以下步骤:
在本地主机(比如,local.pku.edu.cn)上生成自己的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
3.同样地,在远地主机(比如,remote.pku.edu.cn)上完成上面步骤。
4.将本地(local.pku.edu.cn)下你自己(这里是“teng”)的公钥(id_dsa_1024_a.pub)拷贝到远地主机(remote.pku.edu.cn)上你自己家目录下的.ssh2目录下,可命名为“local.pub”,一般用ftp上传即可。
在远地主机上,你自己家目录的.ssh2目录下,创建“authorization”文件,其中指定用来进行身份认证的公钥文件。命令如下:
remote:~/.ssh2# echo “Key local.pub” > authorization
现在你可以从本地用ssh2登录到远地系统了。命令如下:
local# ssh remote.pku.edu.cn
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主机上。
新闻热点
疑难解答