在Windows上建立ssh伺服器

來源:互聯網
上載者:User

如何在Windows上建立ssh伺服器

1.   ssh簡介以及本例的應用情境

①   ssh的簡介

SSH是一個用來替代TELNET、FTP以及R命令的工具包,主要是想解決口令在網上明文傳輸的問題。為了系統安全和使用者自身的權益,推廣SSH是必要的。 SSH是英文Secure Shell的簡寫形式。通過使用SSH,你可以把所有傳輸的資料進行加密,這樣"中間人"這種攻擊方式就不可能實現了,而且也能夠防止DNS欺騙和IP欺騙。

②   本例的應用情境

 

    使用者在client(Linux)上通過ssh遠程執行server(Windows)上的命令,比如c:\test.bat

    註:Linux版內建ssh Server且預設啟動,具體設定方法請參見google。

 

2.   ssh伺服器的安裝(Windows)

ssh伺服器軟體有許多中,我們這裡使用的是免費的freeSSHd。

①   首先從官方網站下載軟體並安裝(http://www.freesshd.com/)

②   安裝完成後進入配置介面(Server Status),確認SSH server執行狀態

 

③   進入Users介面,設定一個訪問的使用者賬戶(比如wust)

 

這裡我們建立一個叫wust的使用者,認證有3種方式可以選擇。從以後通過ssh運行命令的方便(無需輸入密碼)考慮,我們選擇Public key認證方式。選擇Password方式的話,每次訪問需要輸入密碼,此種方式較為繁瑣而且安全性不高。然後開放其Shell許可權。

 

④   進入認證介面,確認Public key認證方式屬於啟用狀態(選擇Allowed或Required)

 

此時ssh伺服器端的基本設定已經OK,可進一步進行更加詳細的設定(比如訪問限定等),此處不再介紹。

注意:伺服器端如果有防護牆時應該開發TCP 22號連接埠最為ssh串連使用。

 

3.   ssh用戶端的設定(Linux)

由於我們的用戶端採用的是Linux,所以不用安裝用戶端軟體,系統內建的就有。

 

我們需要在Linux上建立一個共有和私人的金鑰組,私人密鑰放到用戶端(Linux)上,共有密鑰放到伺服器端(Windows)上。在Linux上通過ssh-keygen命令來建立。

[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): [直接斷行符號]
Enter passphrase (empty for no passphrase): [直接斷行符號]
Enter same passphrase again: [直接斷行符號]
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
4d:dd:48:af:76:c2:ba:a8:bc:20:f3:28:1d:6a:28:53

其中,/root/.ssh/id_rsa為私人密鑰,/root/.ssh/id_rsa.pub為共有的密鑰。

此時,需要把共有密鑰放到伺服器端(Windows)進行儲存,以便於伺服器端進行安全檢查。

我們通過認證介面找到存放共有密鑰的地址(Public key folder)。

 

如所示,然後在c:\Program Files\freeSSHd目錄下建立以登入使用者名稱為名字的文字檔,此處舉例為wust檔案。並將/root/.ssh/id_rsa.pub檔案中的內容拷貝到c:\Program Files\freeSSHd\wust檔案中。

至此,用戶端和伺服器端的密鑰設定已經完成,可以通過如下命令進行遠端命令執行。

ssh wust@122.205.xx.xxx "c:\test.bat"

這條命令將執行伺服器端的C盤下的test.bat檔案,並把結果返回,整個操作不需輸入密碼。

 

4.   ssh用戶端的設定(Windows)

由於Windows不附帶ssh的用戶端和伺服器端,我們這裡找一個免費的用戶端軟體PuTTY。

PuttY首頁:http://www.chiark.greenend.org.uk/~sgtatham/putty/

各種用戶端的比較:http://en.wikipedia.org/wiki/Comparison_of_SSH_clients

在Putty首頁,我們下載putty.zip(含除了PuTTYtel以外的所有檔案),然後解壓會發現一個叫plink.exe的檔案,這就是我們的ssh用戶端命令列軟體。

我們首先要成一個共有和私人的金鑰組,使用putty.zip中附帶的PUTTYGEN.exe產生。

啟動PUTTYGEN.exe後可以見到介面,點擊[Generate]即可產生所需金鑰組。

注意:由於是採用隨機演算法產生,需要不停地在對話方塊上移動滑鼠進度條才會增加,否則將保持不變。

 

密鑰產生完畢後,可以把私人密鑰進行儲存,為了登入簡單起見不對私密金鑰進行加密,提示沒有passphrase選擇忽略即可。假設我們這裡把私密金鑰儲存為pri_key.ppk。

我們把公開金鑰放在freeSSHd端(ssh伺服器端)進行儲存,具體儲存方法參見【ssh用戶端的設定(Linux)】。

在Windows用戶端,執行如下命令進行ssh串連,並不需要輸入密碼即可通過密鑰進行自動認證。

plink -i pri_key.ppk wust@122.205.xxx.xx 

 

註:第一次串連時將出現“The server's host key is not cached in the registry… ”提示,我們選擇確定就可以了,以後就不會再出現了。

 

完。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.