歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> Unix教程

在Solaris8上安裝SSH

Solaris安裝
  安裝步驟
  
  初始步:得到Solaris 8的random補丁
  
  PRNG is not seeded這個問題所困擾 下面是我的解決辦法
  首先要保證openssh所要求的包你都安裝了
  
  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
  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
  
  第一步:獲得安裝包
  
  從這你可獲得安裝包,對於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的安裝。
  
Copyright © Linux教程網 All Rights Reserved