国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號

通過 OpenSSH 隧道的 CVS
2005-11-25   

SSH 隧道提供了訪問 CVS 資源庫的安全方式。學(xué)習(xí)如何安裝 Cygwin 開放源碼 OpenSSH 為 Microsoft Windows 平臺上的 WebSphere Application Server 開發(fā)人員提供了一種安全機制。
簡介
去年冬天,我和我的一個同事正致力于一系列論文,我們用電子郵件進行聯(lián)系。這是一種麻煩的做事方式,我們確實需要建立一個中央 CVS 資源庫以從那里工作,而且都要能夠安全地訪問這個資源庫。由于我們都是移動雇員,所以我們沒有屬于自己的辦公室和信箋服務(wù)器,這使得問題更加復(fù)雜。我們還需要提供安全訪問服務(wù)器的方法。這里所討論的服務(wù)器,是我家里的一臺運行 Windows 2000 的舊 500 Mhz Pentium III 機器,它有多余的能力并且使用我的 DSL 線路。所以,安全訪問是保護數(shù)據(jù)的基本要求。
下一步就是不用購置昂貴的硬件或軟件來解決這些問題。顯然,這意味著要認真仔細地考慮可用的開放技術(shù)。本文記述了關(guān)于這個問題的解決方案:使用開放源碼 Cygwin 包建立 OpenSSH 隧道以便對 CVS 資源庫進行安全的遠程訪問。
安裝 Cygwin 分發(fā)版
客戶機和服務(wù)器上都需要安裝 Cygwin 分發(fā)版。應(yīng)該在兩端安裝同樣的基本軟件包,并包含以下圖 1 中抓屏的信息。
圖 1. Cygwin 安裝窗口:
 
Cygwin 安裝(請參見圖 1)窗口提供可以安裝的各種軟件包的列表。首先,單擊右上角的“View”按鈕,直到看到上面顯示的“Full”視圖。要安裝軟件包,需要單擊黃色突出顯示的區(qū)域,直到出現(xiàn)版本號。遺憾的是,在這個抓屏中,我已經(jīng)安裝了 OpenSSH 軟件包,并且圖中顯示以前的版本作為安裝的候選。無論如何,要在窗口的這個區(qū)域中不斷單擊,直到出現(xiàn)最新的版本號。另外,如果單擊版本號右邊的框,您還將下載該軟件包的源代碼。Cygwin 安裝的一個優(yōu)點就是自動下載所有相關(guān)的軟件包。盡管運行 OpenSSH 不需要所有的 Cygwin 軟件包,不過我在這里推薦安裝其中的一些:
bash
bzip2
crypt
cygunsrv(重要的)
cygutils
cvs(顯而易見)
Cygwin
inetutils
man
openssh
讓 Cygwin 自動選擇所有相關(guān)軟件包。
系統(tǒng)環(huán)境變量
在 Windows start 菜單,按照下列步驟進行選擇:
Start 菜單 -> Settings -> Control Panel -> System
單擊 Advanced 選項卡
單擊“Environment Variables”按鈕
系統(tǒng)環(huán)境變量在窗口的“下”半部分。請一定在那里添加/更改變量值,而不要窗口上半部進行,上半部只適用于登錄的用戶。
安裝了軟件包之后,就要設(shè)置下列系統(tǒng)環(huán)境變量。請一定將這些變量設(shè)置為全局系統(tǒng)環(huán)境變量,而不要設(shè)置為用戶變量。
CYGWIN=ntsec
通過指定 ntsec 來定義正在使用 NT 安全性。這樣就允許象 chmod 和 chown 這樣的 Unix 命令在 Cygwin 環(huán)境中具有相關(guān)性。
將 x:\Cygwin\bin 添加至 PATH 系統(tǒng)變量以便 OpenSSH 軟件包可以找到必需的 dll 文件。完成上述操作后,必須重新引導(dǎo)才能正確地安裝這些服務(wù)。
用戶環(huán)境變量
對于每個用戶,要定義將他們的 HOME 子目錄指向其 Cygwin 主目錄。我的是 D:\Cygwin\home\alex。
服務(wù)器端配置
安裝 OpenSSH 服務(wù)器相當(dāng)簡單。打開 Cygwin bash shell,然后輸入以下命令:
$ cd /usr/bin
$ ./ssh-host-config
回答那些提示(缺省值通常就可以了),并且要確保對“install as an NT service” 回答 Yes — 否則它不能作為服務(wù)安裝且達不到配置服務(wù)器的目的。
設(shè)置用戶
通過將 CYGWIN 系統(tǒng)變量定義為 ntsec,這就可以讓 Cygwin 使用 NT 安全性來管理登錄。但是,為了使 sshd 能夠接受登錄,需要一個 passwd 文件。這可用以下代碼完成:
$ mkpasswd -l > /usr/etc/passwd
$ mkgroup -l > /usr/etc/group
請確保每次創(chuàng)建或刪除用戶時都再次運行這些命令 — 否則將不能與 Windows 保持同步。此外,將需要重新啟動 Cygwin sshd 服務(wù)以使它讀入新的 passwd 文件。
仔細檢查以確保 passwd 文件包含每個用戶的主目錄。否則當(dāng)用戶試圖通過 OpenSSH 隧道運行命令時,OpenSSH 將報告無法切換至用戶的主目錄。這是最讓人討厭的事。
注:mkpasswd 命令將用戶 Guest 插入 passwd 文件。我將其刪除,以消除一個潛在的安全性問題。
啟動 OpenSSH 服務(wù)器
基本上就是這些了。查看 Windows Services 控制面板圖標,確保“Cygwin sshd”服務(wù)已經(jīng)啟動并配置為自動啟動。如果 Cygwin sshd 服務(wù)沒有啟動,則手工啟動該服務(wù)。
圖 2. Windows 2000 services 控制面板
 
我在安裝過程中遇到的一個問題是 Cygwin sshd 服務(wù)不能找到需要的 Cygwin dll 文件。這是因為即使我已經(jīng)更新了 PATH 變量,但不知為何它仍沒有生效。重新引導(dǎo)機器就可以解決這個問題。
客戶機端配置
OpenSSH 客戶機端配置也很簡單。請確保在讓人們在其機器上設(shè)置 OpenSSH 客戶機以前已經(jīng)在服務(wù)器上定義了用戶,否則他們將不能登錄。
系統(tǒng)環(huán)境變量
在客戶機上添加以下系統(tǒng)環(huán)境變量:
CVS_RSH = ssh
注:對于變量為什么稱為 CVS_RSH 而不是 CVS_SSH 有完整的說明,搜索 www.google.com 將滿足那些人的好奇心。雖然如此,該變量定義了所有 CVS 命令將通過 OpenSSH 隧道運行。
您還應(yīng)該為本地用戶設(shè)置用戶環(huán)境變量 HOME。
密碼短語
盡管您可能不需要在主目錄中運行下一節(jié)的 ssh-user-config 命令,但我發(fā)現(xiàn)它是令人鼓舞的。對每個提示回答 Yes,然后對需要作出決定的密碼短語也回答 Yes(ssh-user-config 為登錄的用戶在 ~/.ssh 目錄中生成許多文件)。
(alex) (Thu Jan 31 10:24:32 2002) (~/.ssh)
--> ls -l
total 9
-rw-r--r--1 alex None 339 Jan 30 16:06 authorized_keys
-rw-r--r--1 alex None 840 Jan 30 16:07 authorized_keys2
-rw-r--r--1 alex None 668 Jan 30 16:07 id_dsa
-rw-r--r--1 alex None 610 Jan 30 16:07 id_dsa.pub
-rw-r--r--1 alex None 883 Jan 30 16:06 id_rsa
-rw-r--r--1 alex None 230 Jan 30 16:06 id_rsa.pub
-rw-r--r--1 alex None 535 Jan 30 16:06 identity
-rw-r--r--1 alex None 339 Jan 30 16:06 identity.pub
-rw-r--r--1 alex None 247 Jan 30 16:07 known_hosts
這些文件主要是私鑰/公鑰對。公鑰有 .pub 擴展名而私鑰(粗體)是沒有 .pub 擴展名的同名文件。您需要確保使私鑰是安全的,否則,任何人都可以使用您的私鑰和密碼短語偽裝成您通過 OpenSSH 隧道進入服務(wù)器。
known_hosts 文件是在第一次與 OpenSSH 服務(wù)器連接時生成的。ssh 將在您第一次通過 OpenSSH 隧道與服務(wù)器連接時下載服務(wù)器的公鑰。這樣,在以后的連接中,OpenSSH 隧道可以確保您連接的服務(wù)器確實是同一臺服務(wù)器而不是某人假扮作那臺服務(wù)器。如果在服務(wù)器上更改了私鑰/公鑰對,那么所有的客戶機在能夠與您的服務(wù)器連接前,都將必須下載公鑰。
這就是出現(xiàn)安全性問題的地方。在密碼短語提示期間,如果不輸入密碼短語,則 OpenSSH 服務(wù)器將只用證書文件驗證用戶。這很方便,因為可以完全無縫地通過隧道進入服務(wù)器。您需要對用戶訪問服務(wù)器時是否需要密碼短語加以判斷。
那么為什么我要生成所有其它的公鑰/私鑰對?我不知道 — 但我認為一次完成比反復(fù)地做更容易。
配置 OpenSSH 客戶機
打開 Cygwin bash shell,然后輸入以下命令:
$ cd
$ /usr/bin/ssh-user-config
對 Yes/No 提示回答 Yes(完整地輸入)并且在被提示時輸入密碼短語(如果正在使用)。您可以用這樣的方式生成所有可能的公鑰/私鑰對。完成這些后,需要將某些文件移至 OpenSSH 服務(wù)器。
學(xué)習(xí)一些基本 ssh 命令
ssh 命令遵循以下命令行語法:
ssh hostname -l username command-line-string
注:當(dāng)您第一次訪問 OpenSSH 服務(wù)器時,將提示您獲取服務(wù)器的 RSA 密鑰。請這樣做,以便自動驗證正在連接的服務(wù)器確實是同一臺服務(wù)器。
因此,要用我的用戶名 alex 訪問我的服務(wù)器 polozoff.userv.ibm.com 并且列出根子目錄,我可以輸入以下命令:
ssh polozoff.userv.ibm.com -l alex ls /
因為這是我首次訪問 OpenSSH 服務(wù)器,所以提示輸入我的密碼。輸入密碼后,就會顯示 ls / 命令的輸出。
一個有趣的用于調(diào)試目的的 ssh 命令使用兩個 -v,如下所示:
ssh -v -v polozoff.userv.ibm.com -l alex ls /
這會輸出 ssh 會話的大量有趣的跟蹤信息。
使用剛剛學(xué)到的 ssh 命令
既然已經(jīng)運行了一些基本的 ssh 命令,您需要將生成的一些公鑰文件移至服務(wù)器,以便使其能正確的認證您。在 Cygwin bash shell 輸入以下命令:
$ cd
$ ssh hostname -l username mkdir .ssh
$ ssh hostname -l username chmod og-w .ssh
$ scp ~/.ssh/authorized_keys2 username@hostname:.ssh/authorized_keys2
我運行相同命令所輸入的實際示例是 hostname=polozoff.userv.ibm.com 和 username=alex。
$ cd
$ ssh polozoff.userv.ibm.com -l alex mkdir .ssh
$ ssh polozoff.userv.ibm.com -l alex chmod og-w .ssh
$ scp ~/.ssh/authorized_keys2 alex@polozoff.userv.ibm.com:.ssh/authorized_keys2
請確保正確輸入最后一條命令,否則一切工作將無法正確進行。最后一條命令將 authorized_keys2 文件安全地復(fù)制到 OpenSSH 服務(wù)器?,F(xiàn)在,執(zhí)行任何 ssh 命令都不會再向您詢問密碼。相反,如果您定義了密碼短語,將向您詢問密碼短語。如果您輸入空白的密碼短語,那么服務(wù)器將用公鑰文件來驗證您的身份,而無需任何用戶交互。
要注意一點,不要使用 authorized_keys 文件。有許多關(guān)于該文件的安全性問題報告。您會留意到 authorized_keys 文件和 identity.pub 文件是相同的。它們完全是一回事。
從多臺客戶機機器訪問同一 OpenSSH 服務(wù)器
如果您將從多臺客戶機機器訪問 OpenSSH 隧道,那么您必須小心地處理所有步驟,除最后的 scp 安全復(fù)制以外,其余的步驟都是相同的。這是因為您需要對 authorized_keys2 文件附加文本,而不是重寫現(xiàn)有的文件。您在 OpenSSH 服務(wù)器上附加至該文件的每個密鑰都將允許那臺客戶機機器和服務(wù)器之間發(fā)生 ssh 隧道操作。為了安全地并且遠程地實現(xiàn)這一點,請在 Cygwin bash shell 上使用該代碼執(zhí)行以下命令:
$ cd
$ scp ~/.ssh/authorized_keys2 username@hostname:.ssh/newkey
$ ssh hostname -l username cat ~/.ssh/newkey >> ~/.ssh/authorized_keys2
使用 CVS
既然 OpenSSH 隧道建立,那么您可以跨越該隧道運行任何 CVS 命令,而且看起來就象在使用本地 CVS 資源庫一樣。盡管這不是關(guān)于配置 CVS 的文章,但您需要確保正確設(shè)置以下環(huán)境變量:
CVS_RSH=ssh
CVSROOT=:ext:alex@polozoff.userv.ibm.com:/usr/local/cvsRepository
前面討論過的 CVS_RSH 變量會告訴 CVS 所有 CVS 命令都將使用您建立的 ssh 隧道。CVSROOT 變量取決于您特定的 CVS 安裝,但我已加入了我的設(shè)置作為使用示例。
添加 VI
通常,在進行 CVS 提交時,它會打開 vi 以輸入注釋文本。安裝 Cygwin VIM 軟件包,然后在 /bin 中輸入:
$ ln -s vim.exe vi
結(jié)束語
開放源碼技術(shù)再次證明了它絕對免費地解決問題的有用性。OpenSSH 隧道也很容易配置,并且由于公鑰/私鑰對和密碼短語驗證的使用,使它成為極其安全的工作環(huán)境。在等待 Linux 遷移最終出現(xiàn)時,您現(xiàn)在就可以開始獲得可用的開放技術(shù)的好處了?,F(xiàn)在對開放源碼技術(shù)的支持和使用確保了最終從專有操作系統(tǒng)的轉(zhuǎn)移將順利進行并且影響很小。而這不正是我們所做工作的意義嗎?
參考資料
Cygwin 網(wǎng)站有有用的信息。
在 Daniel Robbins 的兩部分文章中,您將了解 RSA 和 DSA 認證是如何工作的,并將知道如何正確設(shè)置無密碼認證。
Common threads : OpenSSH key management, Part 1
Common threads : OpenSSH key management, Part 2
關(guān)于作者
Alexandre Polozoff 是 WebSphere 軟件服務(wù)顧問,他參與了大容量、大范圍安裝的性能實踐和技術(shù)的開發(fā)。他的專長包括第三方工具評估以及執(zhí)行事后分析的最佳實踐。Alexandre 還不斷參與開放技術(shù)標準(SNMP、TMN 和 CMIP)的制定工作。可以通過 polozoff@us.ibm.com 與 Alexandre 聯(lián)系。

熱詞搜索:

上一篇:在兩臺linux服務(wù)器之間用RSA鍵對的方法SSH/SCP不需密碼
下一篇:用SSH建立安全通道(1)

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
久久久久一本一区二区青青蜜月| 国产精品一区二区久久| 久久综合一区| 国产精品青草综合久久久久99| 亚洲经典视频在线观看| 欧美中文字幕在线播放| 国产亚洲毛片在线| 午夜精品在线看| 国产欧美日本一区二区三区| 亚洲午夜精品久久| 国产精品xxxxx| 亚洲综合电影| 国产一区二区三区丝袜| 香蕉成人久久| 国产视频久久久久久久| 久久久久久久国产| 国产精品推荐精品| 欧美在线地址| 91久久视频| 国产精品高清免费在线观看| 亚洲免费在线电影| 影音先锋亚洲视频| 久久在线视频在线| 亚洲精品欧美日韩专区| 国产精品久久久| 久久亚裔精品欧美| 一区二区成人精品| 欧美另类一区二区三区| 在线综合亚洲欧美在线视频| 国产午夜久久久久| 久久一区二区三区超碰国产精品| 亚洲精品在线观看免费| 国产美女一区| 国产精品mv在线观看| 久久综合精品一区| 欧美一区二区三区免费看| 91久久在线| 亚洲国产精品成人综合色在线婷婷 | 国产情人节一区| 久久av二区| 一区二区欧美精品| 91久久综合| 国产精品久久激情| 欧美国产综合一区二区| 欧美专区18| 亚洲性线免费观看视频成熟| 亚洲激情成人在线| 亚洲国产日韩欧美| 国产一区91| 国产九九精品| 欧美一级久久| 亚洲美女视频在线免费观看| 亚洲精品一区二区三区不| 亚洲激情偷拍| 亚洲久久一区二区| 亚洲六月丁香色婷婷综合久久| 国产日韩专区| 亚洲福利精品| 日韩视频在线一区| 国产精品色在线| 国产精品区免费视频| 免费在线欧美视频| 国内精品久久久久伊人av| 免费短视频成人日韩| 在线观看国产成人av片| 久久久美女艺术照精彩视频福利播放| 猫咪成人在线观看| 国产精品一区=区| 香蕉亚洲视频| 黄色日韩精品| 久热精品视频在线免费观看| 欧美精品在线一区二区| 欧美波霸影院| 国产精品成人在线| 国产日韩亚洲欧美| 亚洲大片av| 亚洲欧美激情精品一区二区| 久久亚洲影院| 国产精品毛片| 国产精品美女主播在线观看纯欲| 久久久久久久999| 久久青草久久| 国产精品欧美日韩| 亚洲另类在线一区| 久久综合伊人77777麻豆| 国产精品入口66mio| 亚洲人成在线观看网站高清| 久久精品国产第一区二区三区| 欧美精品一区二区三区久久久竹菊| 国产精品综合不卡av| 一区二区亚洲欧洲国产日韩| 亚洲欧美国产另类| 欧美日韩一区二区三区免费看| 狠狠入ady亚洲精品| 一区二区毛片| 欧美午夜一区二区| 久久久久久久久伊人| 日韩亚洲一区二区| 国产欧美精品国产国产专区| 免费黄网站欧美| 亚洲综合视频网| 亚洲国产美国国产综合一区二区| 欧美激情影院| 久久久91精品国产| 亚洲视频一二区| 国内外成人免费激情在线视频| 欧美激情第1页| 久久久爽爽爽美女图片| 亚洲综合视频网| 99riav国产精品| 在线精品视频一区二区三四| 国产精品美女| 国产精品久久久久久久午夜片| 美女国内精品自产拍在线播放| 亚洲欧美视频| 亚洲在线一区| 亚洲天堂男人| 亚洲最新中文字幕| 亚洲国产一区二区a毛片| 狠狠色综合网站久久久久久久| 国产精品视频一区二区高潮| 欧美日韩一区二区国产| 欧美日韩一区综合| 欧美日韩国产综合视频在线| 欧美精品一区二区三区四区| 免费成人毛片| 欧美日韩国产色站一区二区三区 | 亚洲午夜久久久久久尤物| 最新国产乱人伦偷精品免费网站| 黄色亚洲在线| 亚洲日本免费电影| 一区二区三区日韩在线观看| 一区二区激情小说| 亚洲无限av看| 久久久久一区二区| 欧美成人精品| 欧美性猛交xxxx乱大交退制版| 国产精品免费在线| 韩国av一区二区| 亚洲国产小视频| 亚洲视频1区| 久久久噜噜噜久久久| 欧美日本韩国一区| 国产欧美日韩专区发布| 亚洲第一在线综合网站| 亚洲特级片在线| 欧美v亚洲v综合ⅴ国产v| 欧美午夜电影在线观看| 国外成人免费视频| 一区二区三区|亚洲午夜| 欧美一区成人| 欧美特黄a级高清免费大片a级| 国产偷久久久精品专区| 亚洲乱码视频| 蜜臀91精品一区二区三区| 国产精品美女久久久久av超清| 亚洲国产精品成人综合| 亚洲伊人伊色伊影伊综合网| 欧美成人中文字幕在线| 国产精品爽爽爽| 一区二区国产精品| 两个人的视频www国产精品| 国产精品九九久久久久久久| 亚洲欧洲在线一区| 久久久亚洲国产天美传媒修理工| 欧美日韩三级视频| 亚洲人成网站色ww在线| 美日韩丰满少妇在线观看| 在线观看视频日韩| 久久男人资源视频| 国产一区二区三区免费观看| 亚洲欧美日韩综合| 国产精品午夜在线| 性欧美8khd高清极品| 国产欧美在线| 久久精品成人一区二区三区| 国产片一区二区| 久久理论片午夜琪琪电影网| 精品99一区二区三区| 欧美成人精品激情在线观看| 在线免费观看日韩欧美| 欧美高清自拍一区| 亚洲天堂免费在线观看视频| 国产精品mm| 久久久精品欧美丰满| 亚洲电影免费在线| 欧美日本国产精品| 先锋影音网一区二区| 黄色欧美成人| 欧美精品videossex性护士| 亚洲素人在线| 黄色成人片子| 国产精品久久夜| 免费观看日韩av| 亚洲无玛一区| 亚洲国产成人91精品| 欧美性大战久久久久久久蜜臀| 久久精品二区亚洲w码| 亚洲少妇诱惑| 99re这里只有精品6|