SSH2 Server 架設

来源:百度文库 编辑:神马文学网 时间:2024/04/30 08:16:58
# 版權宣告: Copyright OLS3 2001 All rights reserved.
# 作者: OLS3 (臥龍小三)
# 本講義僅供教育單位參考.
# 本講義主要供台南縣各中小學校網管人員參考備查.
# 作者保有一切形式的著作權.
# 欲作其它用途者, 需經作者授權同意.
# 未經作者授權同意之前, 請勿轉載刊登.
SSH2 Server 架設
前言:
以往, 網管人員喜歡用 telnet / ftp 等傳遞明碼的軟體, 以遠端連線的方式來管理主機, 唯這在安全上, 實在開了個大洞, 有心人只要中途攔截封包, 再重新組合, 便可取得各式資訊,包括您的帳號密碼等。這種工具,網路上隨手可得,並不需要高超的技巧。
以下圖為例:
ncftp linux.sinica.edu.tw
cd redhat/contrib/libc6/i386
get sniffit-0.3.7.beta-1.i386.rpm
bye
rpm -ivh sniffit*.rpm
sniffit -i

便可用來偷窺雙方的連線過程.
其它好用的且可怕的工具還有很多! (tcpdump, sniffer, NetXRay / sniffer basic ..........)
因此, 網管人員實在應該逐步丟棄使用 telnet / ftp 的習慣.
在此介紹 telnet 的替代方案之一:ssh (Secure Shell, 使用 port 22),
SSH 會將連線的過程採行各種您的主機支援的加密認證方式, 讓連線過程的保密性大大地提高.
有心人縱使中途攔劫封包, 充其量得到的, 也僅是一堆亂碼而已.
建議您應該儘量用它來遠端管理主機.
(telnet port 最好關了吧)
我目前使用的是www.ssh.com 所推出的 ssh2 (奇怪, 這竟然有很多人不知道哩!)
Server 版可至ftp.tnc.edu.tw/pub/Sysop/SSH 抓取 ssh-2.4.0.tar.gz (或至www.ssh.com)
此程式包中已含有 client 端程式 ssh2 及 sftp2.
安裝:
1. tar xvzf ssh*.gz
2. cd ssh-2.4.0
3. ./configure --with-libwrap (準備和 tcp_wrappers 合作共用),
若您的主機是 FreeBSD  也可以用喔! 不過, 要把 --with-libwrap 這個選項拿掉, 否則編譯時, 會發生錯誤!
4. make
5. make install
它會把程式放在 /usr/local/sbin 及 /usr/local/bin 中
您可以將上述路徑加入 .bash_profile 中.
設定:
* 若您使用 inetd :
在 /etc/inetd.conf 中加入以下設定
ssh stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/sshd2 -i
( -i 是說要和 inetd 來配合之意)
再重新啟動 inetd 即可:
/etc/rc.d/init.d/inet restart
* 若您使用 xinetd:
將以下內容, 存成 /etc/xinetd.d/ssh
service ssh { socket_type = stream protocol = tcp wait = no user = root server = /usr/local/sbin/sshd2 server_args = -i disable = no }
重新啟動 xinetd:
/etc/rc.d/init.d/xinetd restart
上面這段設定, 其實也可以利用 xinetd 所附的 inetdconvert 程式, 將 inetd.conf 中的 ssh 設定, 轉換成 xinetd 的設定檔!
過程如下:
/usr/sbin/inetdxconvert --inetdfile inetd.conf ssh
inetdconvert 會在 /etc/xinetd.d 中產生 ssh 這個設定檔, 十分方便!
註: inetdconvert 是一支用 python script 語言所寫的程式, 您的主機中必須裝有 python 才行.
設限:
/etc/hosts.allow 中加入:
sshd2 : 163.26.xxx.0/255.255.255.128 : allow
(上述 IP 值各校不同,請自行調整,若您想由家中遠端管理,最好申請有固定 ip 的 ADSL方案,然後,把 ISP 配給你的固定 ip 加入上述設定中)
/etc/hosts.deny 中加入:
sshd2 : All : deny
如此便可享受 SSH2 的安全和便利。
使用法:
ssh2  -l  帳號 主機或IP
( l 是 L 小寫)
查核密碼之後,便可登入主機,操作方式和 telnet 並無太大不同。
例:ssh2 -l admin 163.26.xxx.1
sftp2  帳號@主機或IP
查核密碼之後,便可登入 FTP 傳檔,操作上和 ftp 大同小異。
例:sftp2 admin@163.26.xxx.1
Win32 平台:
若您習慣 Windows 平台 client 介面,可至ftp.tnc.edu.tw/pub/Sysop/SSH 下載 SSHWin-2.4.0-pl2.exe
不過這是要花點小錢註冊的 (99 塊美金, 可至 http://www.ssh.com 線上用信用卡註冊購買)。
( 3.2.0 版之後, 已可免費使用, 唯部份進階功能關閉, 可至敝中心下載SSH 3.2.0 Client 程式,非常好用!)
以下是 SSH Secure Shell Client 的執行樣貌:

(圖一: ssh2)

(圖二: sftp2)
結言:
只要按上述參考方式來建構,相信應該可以, 大大地增加連線時的安全性吧?!
OLS3 寫於重感冒中....... 04/29/2001
from: http://linux.tnc.edu.tw/techdoc/sshd2.htm