Cygwin 安裝和SSH設定教學

由 Derek 發表於 八月 5, 2011 / 尚無評論

 


前言 :

在很多時後,會需要用到LINUX但是偏偏就只有WINDOWS主機,因此在這個時後就可以安裝Cygwin來做相關的使用。而不用在特意的裝一台linux主機。

 

一、 Cygwin介紹 :

Cygwin是許多自由軟體的集合,最初由Cygnus Solutions開發,用於各種版本的Microsoft Windows上,執行UNIX類系統。Cygwin的主要目的是透過重新編譯,將POSIX系統(例如LinuxBSD,以及其他Unix系統)上的軟體移植到Windows上。Cygwin移植工作在Windows NTWindows 2000Windows XPWindows7Windows Server 2003Windows Server 2008上,目前CygwinRed Hat等負責維護。

 

二、安裝

1. 安裝cygwin

1.1 C:\建立一個cygwin的資料夾

 

 

1.2 cygwin的官網下載最新的版本http://www.cygwin.com/

也可直接下載 請點我

 

1.3 把下載好的setup.exe存放到C:\cygwin

 

1.4 點擊setup.exe開始安裝

 

1.5 點選下一步繼續

 

1.6 選擇安裝所需程式來源的方法

Install from Internet : 直接下載所需程式並立即安裝

Download from Internet : 僅下載所需程式而不安裝

Install from Local Directory : 安裝所需程式已先儲存在個人電腦,不需下載可直接安裝。

在這邊我們選擇【nstall from Internet

 

1.7 選擇所要安裝的目的目錄

這邊我們直接使用預設路徑C:\cygwin。也可點選【Browse】自行更換安裝路徑

Install for 為使用者權限選擇。建議選擇【All Users

 

1.8 選擇安裝時做為儲存下載程式的儲存目錄

安裝所需的各式種類的程式會先被儲存到儲存目錄中,在這邊我們設定為C:\cygwin

 

1.9 選擇網路連接的方式

如果Windows已經是連上網的的狀態時,建議選擇Direct Connection

 

1.10 選擇程式來源網站

這些來源網站都儲存安裝所需的各類程式。但有時也會遇到檔案有問題或是不齊全的情況發生,這邊會比較建議選擇台灣的ftp或是http做為程式來源的網站。若在安裝中出現下載的問題,可重新選擇其他的來源在安裝一次。

 

1.11 正在連接抓取資料中。

 

1.12 此為提醒視窗,可直接略過。

 

1.13 選擇所要安裝的套件。

這邊可以點選右上方紅框內的View來切換模式

 

1.14 點選view後會發現所有套件的名稱都會出現,也會依英文字母來排列。

 

在這次的安裝中我們只安裝三樣套件

Admin cygrunsrv

Net openssh

Editors vim

可以在上方紅框內輸入想要查詢的套件名稱

然後找到該套件後點選前方的Skip,使其改變狀態。

 

Net openssh

 

Editors vim

 

Admin cygrunsrv

 

1.15 直接點選下一步。

 

1.16 顯示安裝進度,需要一點時間請稍後。

 

1.17 若在安裝過程中出現下圖提示。請重新選擇來源

 

1.18 更換來源後點選下一步繼續

 

 

然後會看到要選取的套件選單,因為剛剛已經選好了,所以就直接下一步就可以。

 

 

1.19 接著就會繼續安裝。

 

1.20 安裝完成

安裝完成前,可設定是否在桌面產生圖示或排列在開始的程式集中。

 

 

2. 設定Windows密碼

2.1 這邊會建立使用者能設定一下密碼,一來不容易被別人使用。二來才不會到時因沒設定密碼而要修改設定檔,才可連線。所以這邊會希望能先建立好密碼。

【我的電腦】→【右鍵(管理)


 

2.2 【本機使用者和群組】→【使用者】→【點選要設定的帳號(:Administrator)】→【右鍵設定密碼】→


 

2.3 在點選修改密碼時會有此提省訊息,點選繼續就可。


 

2.4 請輸入所要設定的新密碼,點選確定即可。


 

3. 設定環境變數

3.1 點選【我的電腦】→【右鍵內容】

 

3.2 【進階】→【環境變數】

 

3.3 點選【新增】

變數名稱 : CYGWIN

變數值 : ntsec tty

 

3.4 新增完成後會在,系統變數內看到剛剛所新增的項目。

 

3.5 找到Path變數後 點選【編輯】

在變數值的最後變加上  ;c:\cygwin\bin

 

3.6 設定完環境變數後就可,點選桌面上的Cygwin開啟

 

 

4. sshd的相關設定

4.1 圖為開啟的畫面

 

4.2 Cygwin最近所發布的,有些會有權限問題。因此這邊會建議最後把以下指令都操作一次

chmod +r  /etc/passwd 
chmod u+w /etc/passwd
chmod +r  /etc/group
chmod u+w /etc/group
chmod  755  /var  
touch /var/log/sshd.log
chmod 664 /var/log/sshd.log

 

4.3 再來設定ssh-host-config

輸入下列指令

ssh-host-config

輸入後系統會自動產生一些檔案。

Should privilege separation be used? <yes/no>

接著詢問是否要開啟【權限分離】的功能,在其他系統中安裝OpenSSH時是自動開啟的,因此你可輸入【YES

 

4.4 New local account ‘sshd’?<yes/no>

再來會提示說要建立一個特殊權限帳號,請輸入YES

 

4.5 <Say “no” if it is already installed as a service> <yes/no>

詢問你是否將SSHD作為服物來執行。如此一來不管Cygwin是否有開啟,都可以使使用ssh。請輸入yes

Enter the value of CYGWIN for the daemon:[]

接下來會要求為這個服務輸入一個名稱,可按enter使用預設的(預設為ntsec)

 

4.6 設定好ssh-host-config後,再來就是啟動SSH

net start sshd cygrunsrv  –start  sshd

 

4.7 再來設定讓Windows本機的帳密和cygwin同步

mkpasswd   -cl   >   /etc/passwd
mkgroup   
--local    >   /etc/group

 

4.8 查詢自己目前的身份(以方便之後登入輸入的帳號)

whoami

 

 

4.9 測試看看本機的SSH是否正常

ssh  localhost
or
ssh  -vvv  localhost
or
ssh   $USERNAME@127.0.0.1

-v表是把所有細節都顯示出來

 

看到下面問題請輸入YES 是在詢問是否要繼續連接

                  

請輸入密碼(密碼為Windows主機登入的密碼,如果沒有設定的話請設定一組)

 

5. 防火牆的設定

5.請到【控制台】→【windows防火牆】→【例外】→【新增連接】


 

5.2 名稱 : 可自行輸入

連接阜編號 : 22(如果有改port號的話就輸入修改的port)

 

5.3 設定完後就會在程式和服務看到剛剛所建立的設定。

 

5.4 在來用別台電腦的putty來連線看看是否可以正常登入。

 

 

如果想要更加了解其他設定可參考:

http://pigtail.net/LRP/printsrv/cygwin-sshd.html

 

 

 

關於作者

一個半路殺出來的傻小子,憑著一股傻勁努力的學習、嘗試、分享。希望能用自己微薄之力,替IT界和資訊界盡一點心力。單憑一己之力始終還是有限,歡迎和我有相同理念的夥伴一同加入一同努力。

評論

此文章尚無評論。

發表評論

*