OpenSSH 在SCO Unix上的安裝及應用 本文件主要測試之版本為SCO Unix 5.0.5/5.0.6
所需套件 :
openssh-3.1p1-VOLS.tar
prngd-0.9.23-VOLS.tar
zlib-1.1.4-VOLS.tar
另外, 需準備Skunkware2000(以上版本)之光碟片, 安裝development tools.
1.安裝 Skunkware 2000 Development Tools
mount光碟機, 進入光碟機目錄.
mnt /dev/cd0 /mnt/cdrom
cd /mnt/cdrom
./INSTALL
選擇4) development tools
鍵入 q後, 開始安裝
2.安裝 Zlib (1.1.4)
檔名:zlib1.1.4-VOLS.tar
解壓縮後, 再進入scoadmin裡安裝.(參考以下prngd的方式)
3.安裝 Prngd(版本為0.9.23)
檔名:prngd-0.9.23-VOLS.tar.gz
解壓縮(untar)至你指定的目錄( 例如 : /tmp/pr )
接下來, 在scoadmin裡安裝: "custom -> Software -> Install New -> <*> your host ->
Media Images" 選擇source所在路徑(本例為 /tmp/pr).
在OpenServer5系統中安裝OpenSSH一定要裝此套件
本套件裝完後, 請到/etc/init.d的目錄下, 啟動prngd(方式為 ./prngd start)才能繼續安裝openssh套件.
4.安裝Openssh(3.1p1)
檔名:openssh-3.1p1-VOLS.tar
同樣使用前面的安裝方式.
-------------------------------------------------------------------------------------
openssh安裝好時, 內定的路徑為/usr/local
相關檔案放置於 :
/usr/local/bin
/usr/local/etc
/usr/local/libexec
/usr/local/man
/usr/local/sbin
/usr/local/share
並自動產生三對host keys在/usr/local/etc下 :
ssh_host_dsa_key
ssh_host_dsa_key.pub
ssh_host_key
ssh_host_key.pub
ssh_host_rsa_key
ssh_host_rsa_key.pub
請自行建立一個.ssh的目錄在root directory, 並chmod 700 .ssh(其實系統會在你第一次登入時自動建這個目錄, 但也可以自已建)
5.安裝完成後的設定
依照你的需求修改 /usr/local/etc/ssh_config 和 /usr/local/etc/sshd_config 這兩個設定檔.(補充 : 目前測試結果, 用內定值即可, 除非必要, 可不修改)
----------------------------------------------------------------------------
在/etc/init.d下產生兩個啟動檔 : sshrc和prngd, 你可以加入開機啟動的程序中.
(方法 : 做一個symbolic link,
例如/etc/rc2.d/S98sshrc
/etc/rc2.d/S98prngd;/etc/rc0.d/K87prngd
**在/etc/init.d/prngd裡必須加入一項設定
就是/usr/local/var/prngd/下面的prngd.lock這個檔案, 在重新開機時不會自動清除, 導致系統不會自動啟動prngd, 連帶的ssh也起不來.
所以要在start prngd之前加上 :
----BEGIN---------
if [ -f "$lock_file" ]
then
rm -f "$lock_file"
fi
-----END----
6.ssh-agent的操作第一步 : 產生server key
先產生server key, 指令為ssh-keygen:
ssh-keygen –t rsa1
會產生一對內定檔名為identity/identity.pub的private/pulbic keys
ssh-keygen –t dsa
會產生一對內定檔名為id_dsa/id_dsa.pub的private/pulbic keys
ssh-keygen –t rsa
會產生一對內定檔名為id_rsa/id_rsa.pub的private/pulbic keys
三種方式皆可產生server key, 前者為SSH1, 後兩種為SSH2
過程中會要你輸入passphrase, 請建立一組安全的密碼.
第二步 : 將publickey 傳到接收端伺服器, 並放置於authorized_keys裡
方式如下~~
在sco1上將identity.pub和id_dsa.pub 複製到另一台機器(我們稱為sco2)
在sco2上, 把這兩個 public key寫入認證檔 :
cat identity.pub >> authorized_keys
cat id_dsa.pub >> authorized_keys2
第三步 : 執行ssh-agent
同上例, 在sco1機器上執行ssh-agent, 透過它可以直接利用security channel進入sco2.方式如下 :
在.ssh目錄下執行~
eval `ssh-agent` (注意, ssh-agent是以相反的引號標示)
ssh-agent > .agent
sh-add (此時會要你輸入passphrase).
接下來, 你只要執行 ssh sco2, 就可以直接地,安全地進入sco2這台機器裡了!
以下有兩個範例Scipts可供參考,
第一個是執行ssh-agent的script.
------- script to start ssh-agent and enter password -------------
#!/bin/sh
eval `ssh-agent`
ssh-agent -s > .ssh/.agent # use -s for use in bourne shell scripts
chmod 700 .ssh
chmod 600 .ssh/.agent
ssh-add
接下來這一個是自動執行scp的script.(其中mis2b.asus.com.tw是機器名稱或ip , date是檔案名稱)
-------- example script that uses scp without password -----------
#!/bin/ssh
user=root
eval `ssh-agent`
# add the above two lines to your own script. replace
# 'root' with your own user account on mis2b.asus.com.tw
date > blah.date
$umask 002
scp blah.date $user@mis2b.asus.com.tw:/home/$user
echo done!
Ssh-agent -k
echo agent killed!
------------------------------------------------------------------
參考文件 :
1.永遠的UNIX – 系統管理 SCO ---
http://www.fanqiang.com/a1/b4/index_b.html2.secsh-add, ssh-add -- adds RSA or DSA identities for the authentication agent---http://www.mkssoftware.com/docs/man1/secsh-add.1.asp
3.Using ssh-agent for SSH1 and OpenSSH LG #67--
http://www.linuxgazette.com/issue67/nazario2.html4.Using ssh-agent with ssh--
http://216.239.35.100/search?q=cache:OSxaC8vBQVMC:mah.everybody.org/docs/ssh+ssh-agent+source+.agent&hl=zh-TW5.Caldera Skunkware--http://www.caldera.com/skunkware/