Cygwin 安裝和SSH設定教學

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

 


前言 :

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

 

一、 Cygwin介紹 :

Cygwin是許多自由軟體的集合,最初由Cygnus Solutions開發,用於各種版本的Microsoft Windows上,執行UNIX類系統。Cygwin的主要目的是透過重新編譯,將POSIX系統(例如Linux、BSD,以及其他Unix系統)上的軟體移植到Windows上。Cygwin移植工作在Windows NT、Windows 2000、Windows XP、Windows7、Windows Server 2003及Windows Server 2008上,目前Cygwin由Red 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界和資訊界盡一點心力。單憑一己之力始終還是有限,歡迎和我有相同理念的夥伴一同加入一同努力。

評論

此文章尚無評論。

發表評論

*