SSH是一個用來替代TELNET、FTP以及R命令的工具包,主要是想解決口令在網上明文傳輸的問題。為了系統安全和用戶自身的權益,推廣SSH是必要的。SSH有兩個版本,我們現在介紹的是版本2。
具體步驟如下:
注意,如果你希望用tcp_wrappers來控制SSH,那么在configure時需要加上選項“--with-libwrap=/path/to/libwrap/”, 用來告訴SSH關于libwrap.a 和tcpd.h的位置。
和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# 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訪問本地主機的話。
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上傳即可。
remote:~/.ssh2# echo “Key local.pub” > authorization
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主機上。