安裝步驟 初始步:得到Solaris 8的random補丁 到112438-01.zip得到補丁,解壓補丁包后,根 據補丁目錄下的README文件指示安裝補丁,要使補丁起效必須重啟系統(boot -r)。 第一步:獲得安裝包 從這你可獲得安裝包,對于SPARC系統 openssh-3.5p1-sol8-sparc-local.gz openssl-0.9.6g-sol8-sparc-local.gz tcp_wrappers-7.6-sol8-sparc-local.gz (可選,但推薦安裝) zlib-1.1.4-sol8-sparc-local.gz libgcc-3.2-sol8-sparc-local.gz perl-5.6.1-sol8-sparc-local.gz (可選) prngd-0.9.25-sol8-sparc-local.gz (可選) egd-0.8-sol8-sparc-local.gz (可選) 對于Intel系統: openssh-3.5p1-sol8-intel-local.gz openssl-0.9.6g-sol8-intel-local.gz tcp_wrappers-7.6-sol8-intel-local.gz (可選,但推薦安裝) zlib-1.1.4-sol8-intel-local.gz libgcc-3.2-sol8-intel-local.gz perl-5.6.1-sol8-intel-local.gz (可選) prngd-0.9.25-sol8-intel-local.gz (可選) egd-0.8-sol8-intel-local.gz (可選) 假如你已經安裝了其中一些包的話,可以跳過下載,但是很多包都是最新的。 第二步:安裝軟件包 文件下載完之后,進入下載目錄并運行如下命令(此以sparc系統為例,如是Intel系統,換為 Intel文件即可): # gunzip openssh-3.5p1-sol8-sparc-local.gz # gunzip openssl-0.9.6g-sol8-sparc-local.gz # gunzip zlib-1.1.4-sol8-sparc-local.gz # gunzip libgcc-3.2-sol8-sparc-local.gz (假如你還未安裝gcc 3.2) # gunzip tcp_wrappers-7.6-sol8-sparc-local.gz (可選) 其他可選包也可同樣操作,然后用root權限運行如下命令 # pkgadd -d openssh-3.5p1-sol8-sparc-local # pkgadd -d openssl-0.9.6g-sol8-sparc-local # pkgadd -d zlib-1.1.4-sol8-sparc-local # pkgadd -d libgcc-3.2-sol8-sparc-local (假如你還未安裝gcc 3.2) # pkgadd -d tcp_wrappers-7.6-sol8-sparc-local (可選) 一旦你已經安裝了以上包后,在目錄/usr/local下你將得到很多子目錄。ssl文件的默認路徑是 /usr/local/ssl。當這些文件被編譯為不將目錄(/usr/local/lib和/usr/local/ssl/lib)加入 LD_LIBRARY_PATH,那可能將需要設置它們。現在你將可以在目錄/usr/local/bin中找到ssh在目 錄/usr/local/sbin中找到sshd。確定你將目錄/usr/local/bin和目錄/usr/local/sbin加到了你 的PATH環境變量中。在可選的egd包中的perl腳本程序(.pl后綴)將要在目錄/usr/local/bin中 尋找perl。假如你使用的是Sun Perl,那么Perl腳本程序開頭改為/usr/bin,然而使用安裝包的 為/usr/local/bin 第三步:建立sshd用戶和/var/empty目錄 openssh 3.5p1中采用了一種新的安全方式被稱為特權分隔。具體內容你可以查看在openssh的源 文件目錄中的README.privsep文件。現在這種方式在openssh中為默認設置。在進行之前你應該 閱讀一下README.privsep文件,然后在用root權限執行這些步驟: # mkdir /var/empty # chown root:sys /var/empty # chmod 755 /var/empty # groupadd sshd # useradd -g sshd -c 'sshd privsep' -d /var/empty -s /bin/false sshd /var/empty 不應該包含任何文件. 假如你沒有做這一步并試圖啟動sshd的話,你將得到error信息并且守護進程不會運行。 第四步:安裝tcp_wrappers tcp_wrappers是被用來限制某些有限組機器訪問你的通信端口,例如sshd程序使用的22端口。假 如你已經運行了tcp_wrappers,那么你只要確定sshd守護進程條目是否在/etc/hosts.allow和 /etc/hosts.deny文件中。假如你當前沒有運行tcp_wrappers,你首先應該創建文件 /etc/hosts.deny并在文件中加入一行 sshd:ALL 然后,創建文件/etc/hosts.allow并加入一行,例如 sshd:... "..."處填寫你允許與你的機器通信的IP列表,例如 sshd:202.112.117. 此例說明允許202.112.117.子網的機器訪問你的機器。 第五步:安裝ssh和sshd 這是最后一步。每一臺你想通過ssh客戶端進行通信的機器都需要運行一個sshd守護進程。但是 首先,你需要在服務器機器上運行下面的命令來創建秘鑰信息。再次確定目錄/usr/local/bin和 /usr/local/sbin是否在你的PATH中。假如你以前曾經運行過sshd并且在/usr/local/etc下有秘 鑰,那么運行下面這些命令將會覆蓋它們。用root權限,輸入: # ssh-keygen -t rsa1 -f /usr/local/etc/ssh_host_key -N "" # ssh-keygen -t dsa -f /usr/local/etc/ssh_host_dsa_key -N "" # ssh-keygen -t rsa -f /usr/local/etc/ssh_host_rsa_key -N "" 每一條命令可能要花費幾分鐘的事件,這取決于你機器的速度。等到每條命令結束為止。 完成之后,我們可以創建腳本來啟動sshd守護進程。下面編輯一個簡單的啟動腳本,并把它放置 在/etc/init.d目錄下(root權限): #!/bin/sh pid=`/usr/bin/ps -e | /usr/bin/grep sshd | /usr/bin/sed -e 's/^ *//' -e 's/ .*//'` case $1 in 'start') /usr/local/sbin/sshd ;; 'stop') if [ "${pid}" !="" ] then /usr/bin/kill ${pid} fi ;; *) echo "usage: /etc/init.d/sshd {start|stop}" ;; esac 然后運行如下命令: # chown root /etc/init.d/sshd # chgrp sys /etc/init.d/sshd # chmod 555 /etc/init.d/sshd # ln -s /etc/init.d/sshd /etc/rc2.d/S98sshd # /etc/rc2.d/S98sshd start 通過上面這條命令可以手工啟動進程 # /etc/rc2.d/S98sshd stop 此條命令將停止sshd守護進程 # ps -e | grep sshd 此條命令可以查看是否啟動了sshd 至此完成了ssh的安裝。