精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>● FreeBSD>>系统安全>>[转载]ssh和ssh2

主题:[转载]ssh和ssh2
发信人: hahalee()
整理人: zhcharles(2002-01-30 16:11:52), 站内信件
發信人: [email protected] (無條件的愛), 看板: BSD_DOC
標  題: [doc] ssh2
發信站: 台大電機 Maxwell BBS (Fri Nov 27 22:18:52 1998)
轉信站: WD!freebsd.ntu!bbs.ee.ntu!Maxwell

※ [本文轉錄自 BSD 看板]

發信人: [email protected] (交作業趕通宵大學), 看板: BSD
標  題: [doc] ssh2
發信站: 克萊恩大地 (Fri Nov 20 01:52:17 1998) [email protected]
轉信站: Maxwell!bbs.ee.ntu!news.ntu!ctu-gate!news.nctu!news.cis.nctu!krynn

小弟寫了份小小文件, 希望各位不吝指教 :)
<doc>

$Id: ssh-use.txt,v 1.2 1998/11/19 17:33:59 ijliao Exp $

        SSH2 簡易使用說明

作者:廖英傑 (Ying-Chieh Liao) <[email protected]>

* 什麼是 ssh ?

    Ssh (Secure Shell) 是一套安全的網路連線程式, 它可以讓您透過網路連線至其他
電腦, 在其他電腦上執行程式, 在電腦之間拷貝檔案, 它甚至可以提供您更安全的 X 連
線 ; 而以上的這些連線, 都是在編碼的保護下完成的。

* 為什麼要使用 ssh ?

    上面所說的各種功能, 傳統 BSD 所提供的 r 指令 (rsh, rlogin, rcp) 幾乎都能
完成, 那為什麼我們要用 ssh 呢 ? 理由就在於 r 指令所提供的連線並沒有經過編碼,
有心人只要使用適當的工具就能夠截下您所輸入的每一個字, 包括密碼。如果您利用
X protocol 在遠端機器執行 X 程式, 有心人也可以截下您傳輸的資料, 當然也包括密
碼。而 ssh 就針對了這些弱點做了補強, 對所傳輸的資料加以編碼。

* ssh2 對 ssh1 做了那些方面的補強 ?

    Ssh2 對 ssh1 的程式碼做了大幅度的改寫, 根據 ssh 公司的說法, ssh2 有 98%
的程式碼和 ssh1 的不一樣。除了 ssh1 所提供的 RSA 法之外,ssh2 也提供了另外的
公開金匙編碼法以及金匙交換法, ssh2 預設採用 DSA 編碼以及 Diffie-Hellman 金匙
交換法。此外, 更提供了 sftp, 使我們能在 ftp 方面也得到安全的保障。

* 要如何安裝 ssh2 ?

    您可以隨時從 ftp://ftp.cs.hut.fi/pub/ssh 取得最新版本的 ssh, 在本文寫作
時的最新版是 ssh 2.0.11, 目前可以從
ftp://freebsd.csie.nctu.edu.tw/Upload/ssh-2.0.11.tar.gz
取得。

    安裝前請先詳讀內附之 README 檔, 基本上只要執行 ./configure ; make 就可以
把 ssh 給 compile 好, make install 就可以把程式和 man page 給安裝完成了。

* 設定 ssh2 (server 部份)

    首先我們看到 /etc/ssh2 , 這個目錄所存放的是這臺機器的 ssh 設定。以下分別
介紹之 :

    hostkey             這臺機器的秘密金匙, 在 make install 時自動產生。

    hostkey.pub         這臺機器的公開金匙, 在 make install 時自動產生。

    random_seed         亂數種子, 程式會自動產生。

    ssh2_config         這臺機器上 ssh2 使用者的預設值。

    sshd2_config        這臺機器上 sshd2 的設定值。

    其中跟 server 有關而我們需要關心的只有 sshd2_config 的設定。大部份的選項
可以照安裝時的預設值去執行, 如果要啟動 ssh1 相容模式的話, 只需要多加

        Ssh1Compatibility       yes
        Sshd1Path               /path/to/sshd1

即可。詳細的設定值設法可以 man sshd。

    設定部份完畢了之後, 就可以執行 /usr/local/sbin/sshd 來啟動 sshd 了。如果
您要在每次開機時都啟動的話, 可以參考下面這段 shell script, 將它放在
/usr/local/etc/rc.d/sshd.sh

<code>
#!/bin/sh
if [ -x /usr/local/sbin/sshd ]; then
        /usr/local/sbin/sshd ; echo -n ' sshd'
fi
</code>

* 設定 ssh2 (client 的部份)

    ssh2 client 的設定檔分為系統共用和使用者自定兩種, 兩種設定檔的設定方法都
一樣。系統共用的設定檔是 /etc/ssh2/ssh2_config, 使用者自定的設定檔是
$HOME/.ssh2/ssh2_config。大致上來說並不需要做特殊設定, 使用出廠預設值就可以
了。

* 產生 key pair

    ssh2 是採用公開金匙的密碼方式, 在使用之前我們要先產生一組 private/public
key pair, 做為編解碼之用。產生 key pair 的方式是執行 ssh-keygen, 此時系統會
自動產生出一對 key, 並問您 passphrase (通行碼), 最後會產生 $HOME/.ssh2/ 這個
目錄, 並把您的 key pair 存成 id_dsa_1024_a (private key)  和
id_dsa_1024_a.pub (public key) 這兩個檔 (此時假設您是第一次使用, 用的是 DSA
編碼, 並產生 1024 bit 長的密碼)。關於 ssh-keygen 的詳細使用法, 請
man ssh-keygen。

* 使用 ssh 來登入遠端機器

    接下來, 請把 id_dsa_1024_a.pub 這個檔案拷貝到遠端機器上去, 並在
$HOME/.ssh2/authorization 指定 ; 例如我把 host1 的 id_dsa_1024_a.pub 拷貝到
host2 去, 放在 $HOME/.ssh2/host1.pub, 那我的 $HOME/.ssh2/authorization 就要
這樣寫 :

        Key     host1.pub

    回到 host1, 在 $HOME/.ssh2/identification 這樣寫 :

        IdKey id_dsa_1024_a

    然後在 host1 下 ssh host1 的指令, 它會問您的通行碼, 只要正確輸入, 就可以
正常登入遠端主機了。

    如果您沒有做上述動作而直接以 ssh host2 登入主機的話, ssh 會詢問您在該機
器上的密碼, 仍然具有 ssh 加密保護的能力。

    以上就是簡單的 ssh 介紹, 其實 ssh 的功能十分強大, 還可以開
secure channel, X forward, sftp, scp, 更可以配合 rsync 來安全地管理一群機器,
更進一步的功能, 請大家用力翻 man page :)

</doc>
--
期中考考爆了, 寫寫文件麻痺一下...:X
--
mailto:[email protected]?subject="send pgp key" to get my pgp public key
key finger print : FA 38 7E 91 FA 22 FA F6  63 04 E3 B5 A1 9F 0C CD

不知道誰寫的 self-produce program...
char*p="char*p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}

--
※ Origin: 克萊恩大地 ◆ From: Terry.Dorm10.NCTU.edu.tw
--
--
--
(o- ====================================================== ^^
//\  火车停下来的地方叫火车站; 汽车停下来的地方叫汽车站    oo)
V_/  我的桌上有一台工作站......                          <=( )
||========================================================_/_\

※ 来源:.网易 BBS bbs.netease.com.[FROM: 202.100.219.12]

[关闭][返回]