萬盛學電腦網

 萬盛學電腦網 >> Solaris介紹 >> Solaris8安裝OPENSSH方法

Solaris8安裝OPENSSH方法

在Solaris8上安裝OPENSSH 注:得到Solaris 8的random補丁 PRNG is not seeded這個問題所困擾 下面是我的解決辦法 首先要保證openssh所要求的包你都安裝了 A、sun的patch 112438-01 其實這個patch安裝了有時也沒有用 打這個patch的目的是因為8默認沒有一個隨 在Solaris8上安裝OPENSSH 注:得到Solaris 8的random補丁 PRNG is not seeded這個問題所困擾 下面是我的解決辦法
首先要保證openssh所要求的包你都安裝了
A、sun的patch 112438-01
其實這個patch安裝了有時也沒有用 打這個patch的目的是因為8默認沒有一個隨機數設備
安裝這個patch就是為解決這個問題 但從實際使用情況來看,沒有什麼用 所以建議不要安裝。
 以上這步我沒有做,不過先留在這裡吧! 1、安裝一個第3方的軟件 ANDIrand-0.7-5.8-sparc-1.pkg
安裝了這個軟件之後,會在/dev/目錄下生成2個隨機數設備
random urandom
安裝之後不用重起
這時你在起 openssh 就會正常了
這個軟件的下載地址
for 2.6
http://www.cosy.sbg.ac.at/~andi/SUNrand/pkg/ANDIrand-0.7-5.6-sparc-1.pkg
for 8
http://www.cosy.sbg.ac.at/~andi/SUNrand/pkg/ANDIrand-0.7-5.8-sparc-1.pkg 2、獲得安裝包(SPARC系統,注意版本不一定相同,去http://www.sunfreeware.com/indexsparc8.html下載)
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 (可選)     這個我也沒裝 3、安裝軟件包
# 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 4、建立sshd用戶和/var/empty目錄
# 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 不應該包含任何文件. 5、安裝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.子網的機器訪問你的機器。 6、安裝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權限):
#vi /etc/init.d/sshd
內容如下:
#!/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守護進程
也可以這樣啟動: /etc/init.d/sshd start
# ps -ef | grep sshd
此條命令可以查看是否啟動了sshd
再從某台機使用ssh xx.xx.xx.xx是否能登錄  
copyright © 萬盛學電腦網 all rights reserved