Windows上安裝配置SSH教程(6)——綜合應用:在Windows上實現SSH遠程登陸與文件傳輸


—————————————————

聲明:本教程現已經棄用。由於客戶端同時安裝Cygwin和OpenSSH for Windows會出現問題(Cygwin的shell下無法使用ssh命令),建議直接在客戶端使用Cygwin方式安裝SSH,不要使用OpenSSH for Windows。

新教程連接:

手動方式:http://www.cnblogs.com/feipeng8848/p/8583768.html

 

腳本自動方式:http://www.cnblogs.com/feipeng8848/p/8583780.html

—————————————————

指導思想:服務端和客戶端只要都安裝了OpenSSH就能使用SSH協議實現SCP。

—————————————————

服務器端操作系統:Windows XP 

客戶端操作系統:Windows10

安裝與配置順序

1.服務端安裝OpenSSH

2.服務端配置OpenSSH

3.客戶端安裝OpenSSH

4.客戶端安裝WinSCP

5.客戶端安裝Cygwin

6.客戶端安裝Tcl與Expect

7.編寫Expect腳本實現自動登陸並下載文件

————————————————

下面逐步介紹安裝配置方法

說明:局域網內,請先用交換機把計算機連接起來,設置好IP地址。

1.服務端安裝OpenSSH

下載安裝包:https://sourceforge.net/projects/sshwindows/

除了修改軟件的安裝目錄其他都是一路默認選項,Next到最后。

 

2.服務端配置OpenSSH

win+r 打開運行,輸入cmd打開控制台執行如下操作

先cd到bin目錄

然后輸入如下命令(分兩次執行,注意命令中的參數是小寫的L)

mkgroup -l >> ..\etc\group
mkpasswd -l >> ..\etc\passwd

如果能在C:\OpenSSH\etc目錄下找到group文件和passwd文件即說明上面兩個命令執行成功。這兩個文件沒有擴展名。

接下來在服務器的C:\OpenSSH目錄上創建home目錄、home下創建用戶目錄(以Adminstrator為例),用戶目錄下創建.ssh目錄。建議使用命令,右鍵新建文件夾的話無法將文件夾命名為.ssh

使用寫字板打開C:\OpenSS\etc\sshd_config文件,檢查幾個設置是否設成下面這樣,確保去除前面的#號,括號中的漢字是說明該行代碼的意思,sshd_config文件中並沒有這些。

Protocol 2
PermitRootLogin no            (禁止root賬戶登陸)
PermitEmptyPasswords no         (禁止沒有密碼)
PasswordAuthentication yes        (是否允許密碼登陸,yes是允許,no是禁止)
RSAAuthentication yes       
PubkeyAuthentication yes   (允許公鑰登陸)
AuthorizedKeysFile .ssh/authorized_keys         (公鑰目錄)

然后修改注冊表,為軟件指定/home的目錄

運行(win+r)里輸入regedit,打開注冊表,然后找到如下項

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/home]

"native"="D:\\OpenSSH\\home"

"flags"=dword:0000000a

把"native"改成你自己的/home所在目錄,此目錄就是默認的登陸目錄,下圖的設置就是默認登陸目錄為:C:\OpenSSH\home

輸入如下命令啟動服務: 

net start opensshd

到這里說明已經服務端已經安裝成功了OpenSSH並成功開啟了服務,需要指出的是以上截圖有一些是在Win10下截的,這部分與在XP上是一樣的。

以Administrator賬戶為例,設置下Windows XP登陸密碼(也就是平時的登陸密碼,我設置為123456),設置好IP地址(我設置為192.168.16.1)

現在,就可以使用客戶端軟件登陸了。

3.客戶端安裝OpenSSH

 現在開始配置客戶端,首先在要客戶端安裝OpenSSH,使用上面為服務端安裝一樣的安裝包

配置的時候同樣要cd到bin目錄下執行這兩個命令

如果能在C:\OpenSSH\etc目錄下找到group文件和passwd文件即說明上面兩個命令執行成功。這兩個文件沒有擴展名。

4.客戶端安裝WinSCP

客戶端安裝WinSCP教程鏈接:http://www.cnblogs.com/feipeng8848/p/8568149.html

5.客戶端安裝Cygwin

到第4步就可以使用圖形界面的WinSCP手動遠程傳輸文件了,要想實現腳本自動登陸與傳輸,請繼續執行后面的步驟。

客戶端安裝Cygwin教程鏈接:http://www.cnblogs.com/feipeng8848/p/8555648.html

6.客戶端安裝Tcl與Expect

打開Cygwin Terminal,輸入如下命令安裝Tcl

apt-cyg install tcl

 輸入如下命令安裝Expect

apt-cyg install expect

 驗證安裝是否成功,輸入如下命令

which tclsh

同理測試Expect

寫一個helloworld腳本測試Tcl(腳本文件名:TestTcl.tcl)

 7.編寫Expect腳本實現自動登陸並下載文件

編寫腳本文件

#!/usr/bin/expect
spawn ssh Administrator@192.168.16.1
expect "*password:"
send "123456\r"
expect "*#"

執行該腳本即可鏈接上服務器: 

編寫腳本文件

#!/usr/bin/expect
spawn scp Administrator@192.168.16.1:/home/Administrator/33/ID.txt /home
expect "*password:"
send "123456\r"
expect "*#"

 執行該腳本即可從服務端把/home/Administrator/33/ID.txt 文件復制到本地的/home目錄下

至此,可實現SSH遠程聯機與下載文件。

————————————————————

知識點匯總:http://www.cnblogs.com/feipeng8848/p/8559803.html

————————————————————


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM