你習慣用Linux/Unix並且希望通過SSH來訪問裝有Windows7的機器么?Cygwin提供了這項功能,它能讓你在你所熟悉的環境中通過簡單的步驟實現這一點。
這里我們假設你已經安裝並配置好了Cygwin。如果沒有,可以參考這篇文章如何在Windows中通過Cygwin來使用Linux命令行 。
安裝OpenSSH
這里我們會用到OpenSSH,如果你沒有安裝,可以找到Cygwin中的Setup.exe文件再運行。
安裝Cygwin的過程中,可以使用默認設置。在安裝包選項頁面,搜索“open”,查看"Net"菜單。
你會看到一個叫“openssh”的安裝包。點擊“New”這一列,它會提示“Skip”直到你在“Bin?”下面看到X出現。如果你被弄暈了可以返回到上一個頁面再重新拿開始。點擊“Next”完成接下來的步驟,就像剛才安裝Cygwin一樣。
在Cygwin里配置OpenSSH
和大多數Linux應用不同的是,OpenSSH在正常運行之前不會自動配置。這里需要進行一些簡單的操作。首先,在Cygwin快捷方式上右鍵,然后點擊“以管理員權限運行”:
這樣可以保證我們有合理的權限來進行任意操作。你會看到一個空的Cygwin窗口出現。
輸入下面的命令:
ssh-host-config
你將會看到這些腳本生成一些默認文件,然后會是否打開“權限分離”功能。在其他系統里安裝OpenSSH的時候默認是打開的,所以你可以直接輸入“yes”。
它會提示你創建一個特殊權限賬戶,選擇“yes”腳本會繼續運行。
接下來還會詢問你是否將sshd作為服務來運行,這樣的話不論Cygwin當前是否在運行你都可以訪問到SSH,這正是我們需要的功能。選擇“yes”繼續。
下一步會要求你為這個守護進程輸入一個值,可以輸入:
ntsec
你會看到腳本在系統里為你提供一些信息,然后要求你創建一個默認名為“cyg_server“的優先賬戶,當提示你是否要使用別的名稱的時候,可以輸入“no”,因為默認名也很好用,如果你真不喜歡的話也可以修改。
當然,你還需要為這個賬戶設置密碼。
Cygwin將會以文本的方式把你的密碼顯示出來,請確保你在安裝的環境下輸入密碼。你還會看到其他一些信息,如果一切正常你會得到成功完成的提示。
你可以重啟cygwin或者輸入下面的命令來重新啟動sshd服務:
net start sshd
現在你可以輸入“exit”來關閉Cygwin。
SSH的用戶配置
下一步,我們將會為你的用戶賬戶創建合適的SSH關鍵內容。
ssh-user-config
它會詢問你是否為你的賬戶創建特定的關鍵內容,根據你的需要作出選擇。我會對第一個提示選擇“no”,第二個提示“yes”。
SSH2安全性會更高,所以在這里我會推薦你使用它。輸入密碼之后,它會詢問你是否使用ID來訪問你的電腦,輸入“yes”。
下一步,它會要求你創建SSH2 DSA ID文件,如果你不想用密碼來訪問的話。這一步我輸入的是“no”。
就這么簡單!你已經完成了所有的配置。如果你想快速測試一下你的配置,可以在Cygwin窗口命令行里輸入:
ssh –v localhost
選項-v表示進程運行的所有細節都會顯示出來。它會詢問你是否繼續連接,輸入“yes”然后根據提示輸入密碼。記住,當你輸入用戶名,它對大小寫是敏感的。
如果一切正常,你將會看到正常的bash命令行提示。
一些小提示
如果你在配置過程中覺得束手無策,一定要確保要使用管理員權限來運行程序。如果你用普通用戶配置主機的時候看到一些古怪的提示,一定要保證你是用管理員權限來運行Cygwin。當你退出的時候,會提示你是否繼續運行工作任務,你可以輸入“no”來結束它們。
最后,如果你測試從其他電腦訪問SSH的時候出現錯誤提示,確保防火牆沒有阻止訪問端口22(如果是使用SFTP對應的端口是23)。
--------------------------------------------------------------------------------
如果你想熟練使用shell並通過SSH/SFTP來訪問你的Windows 7系統,這的確是一個不錯的方法。如果你願意的話,在Cygwin上還可以將Windows的硬盤分區掛在到“/cygdrive/driveletter”。
下面是我自己實際配置時的一些截圖:
這個是在Linux下訪問windows7的實際效果:
注意:
操作過程中要開啟sshd服務: