歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> solaris下安裝openssh

solaris下安裝openssh

日期:2017/2/28 11:23:04   编辑:關於Unix


OpenSSH目前提供的版本為4.2p1,在安裝的過程中切記以下的幾點:
 1. 該軟件安裝在/usr/local目錄下,其執行文件都在/usr/local/bin下面,但是sshd這個守護進程在/usr/local/sbin/下面,如果要執行sshd的話,必須是使用絕對路徑來運行該程序,否則會報錯!
 2. 安裝OpenSSH必須安裝Openssl,否則OpenSSH將無法正確的工作。
 3. OpenSSH由於使用一些開源的庫函數,所以必須安裝zlib,libgcc或者直接安裝gcc-3.3.2及以後的版本的gcc。
A. 安裝gcc-3.3.2
gunzip gcc-3.3.2-sol8-sparc-local.gz
pkgadd -d gcc-3.3.2-sol8-sparc-local 
B. 安裝OpenSSH軟件
gunzip openssh-4.2p1-sol8-sparc-local.gz
pkgadd –d openssh-4.2p1-sol8-sparc-local
C.安裝OpenSSL軟件
gunzip openssl-0.9.8a-sol8-sparc-local.gz
pkgadd -d openssl-0.9.8a-sol8-sparc-local
設置PATH
BSH: PATH=/usr/local/bin:$PATH;export PATH

4. 生成必要rsal、dsa、rsa等類型的key文件,按以下的命令來做:
#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 ""
在執行上一步的時候有可能會出現下面這個錯誤:
   PRNG is not seeded
解決方法如下:
1、sun的patch 112438-01
其實這個patch安裝了有時也沒有用 打這個patch的目的是因為8默認沒有一個隨機數設備
安裝這個patch就是為解決這個問題 但從實際使用情況來看,沒有什麼用 所以建議不要安裝。
2、安裝一個第3方的軟件 ANDIrand-0.7-5.8-sparc-1.pkg
安裝了這個軟件之後,會在/dev/目錄下生成2個隨機數設備
random urandom
安裝之後不用重起
這時你在起 openssh 就會正常了
這個軟件的下載地址
for 2.6
for 8
第二個方法我試過了,確實可以!  
 
  生成key文件以後,仍然是無法執行運行sshd,需要建立sshd用戶,要注意的是該用戶是沒有有效的shell的,這是考慮到了系統的安全,按以下的方法建立用戶sshd:
  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
建立該用戶後,就能直接手工啟動sshd這個守護進程了,需要使用絕對路徑來執行該守護進程,否則會報錯。在老版本裡面,一個必須要做到步驟就是必須在 /etc/下建立一個ssh的目錄,然後將/usr/local/etc下所有配置文件拷貝到/etc/ssh下面,或者做個符號鏈接,ln –s /usr/local/etc/ssh /etc/ssh。vi sshd_config文件, 將ListenAdress前面的#注釋去掉,再在後面添入主機的IP地址,PermitRootLogin前面#號去掉,後面的no改成yes。不是什麼原因,新版本已經缺省允許root遠程登錄了。
  做完以上的步驟即可手工啟動sshd進程了/usr/local/sbin/sshd。以下是啟動和關閉腳本的制定,建立/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/rc3.d/S99sshd
# ln -s /etc/init.d/sshd /etc/rc1.d/K99sshd
# /etc/rc3.d/S99sshd start
通過上面這條命令可以手工啟動進程
# /etc/rc3.d/S98sshd stop
此條命令將停止sshd守護進程
# ps -e | grep sshd
此條命令可以查看是否啟動了sshd
至此完成了ssh的安裝。
Copyright © Linux教程網 All Rights Reserved