在linux終端下使用scp與遠程windows傳輸文件


這幾天遇到了個問題,需要在linux終端下往遠程windows xp(同一局域網)傳輸文件。 由於之前在該linux下都是往遠程的linux傳輸文件,而當時使用的是scp。遠程切到windows以後,也想繼續使用scp來完成,在網上搜集了一下資料,可以通過安裝openssh for windows來實現。


openssh for windows,官網在國內無法訪問,我是通過鏡像網站來下載的,版本爲3.8p1。安裝過程此處略過。說一下安裝過後的基本配置。

  • 打開命令行,切換到openssh安裝目錄中的bin文件夾,執行如下命令:
        mkgroup -l >> ..\etc\group
        mkpasswd -l -u ziven >> ..\etc\passwd
        其中ziven是windows上的用戶的用戶名。
  • 修改防火牆,例外當中添加22端口(默認ssh端口,如果在etc\sshd_config當中更改了port的值,此處應該是相應的值)。
  • 如果總是提示無法切換到/home/ziven目錄(No such files or directory),可以使用編輯器打開安裝目錄下的etc\passwd文件,將剛剛ziven用戶對應的/home/ziven更改爲其他的目錄(已經存在的目錄),例如更改爲/cygdrive/c/ziven(即c:\ziven文件夾)。

此時應該已經可以在遠程使用scp來完成複製了,語法還是之前的語法,此處特別需要注意的一項是,遠程windows當中的路徑的表示方法。由於一開始沒有看幫助文檔,總是寫不對路徑,後來查看幫助文檔才瞭解到,路徑的正確寫法(默認情況下)應該是(假設路徑爲D:\test\data\):

/cygdrive/d/test/data/

所以如果要甚至本地文件test到剛剛的目錄,命令應該是:

scp test [email protected]:/cygdrive/d/test/data/


PS:

後續將繼續添加ssh公鑰認證以及修改默認的路徑表示法。

發佈了22 篇原創文章 · 獲贊 8 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章