SFTP免密碼登錄踏坑經歷


公司報表要用SFTP SSH協議信任免密碼上傳到指定報表服務器...

  • 坑1、FTP與SFTP不等同於HTTP與HTTPS;
  • 坑2、免密碼不是簡單的不設置密碼在路由開白名單IP;
  • 坑3、freeSSHd.exe搭建SFTP服務器就這么簡單不要想那么復雜;
  • 坑4、puttygen.exe生成密鑰對為什么兩天兩夜不前進;
  • 坑5、拿到的公鑰為什么不對;
  • 坑6、拿到的私鑰為什么又不對;

到此只想深深的吸口氣感慨一句“好懷念那些年在大樹下玩耍的日子”。

1、坑1可以直接閱讀各種百科有詳細的教程;坑2完全是被同事誤導不提也罷。

2、SFTP服務器的搭建

  1.下載freeSSHd一鍵安裝好后,檢查下進程與服務把FreeSSHDService.exe進程關閉,服務FreeSSHDService先停止。

  2.管理員運行FreeSSHd,選擇Users標簽添加用戶,這里的login名字很重要后面創建公鑰要用

 

  3.開啟日志

  4.SHH視情況修改,如:端口被占用等都可以自行修改

  5.方便公鑰管理可以加一級目錄

  6.上傳目錄可以更改個

  7.點擊應用並去Server status啟動服務(多點幾次沒毛病)

  到此SFTP服務器就設置成功了。真的成功了一點不復雜。

 3、生成密鑰對,生成密鑰對有很多方式這里用puttygen.exe(網上搜索PuTTY)生成,因為簡單方便,不粗心根本不會像我一樣開機傻等了兩天兩夜。

保存私鑰1

保存密鑰2

保存公鑰1(不會用到)

保存公鑰2,選擇公鑰字符串復制到文件夾下建立一個文本文件並命名為SFTP服務器上創建的登錄名(這里用的是test1)並去除后綴。

到此密鑰對獲取完成。

坑5、拿到的公鑰為什么不對?

答:因為SFTP服務器上公鑰要使用 保存公鑰2 的形式。為此比較下兩個公鑰有什么不一樣:

接着把公鑰2(test1)傳到SFTP服務器公鑰管理目錄

這時用SFTP連接工具鏈接SFTP服務,連接私鑰用 保存私鑰1 就能鏈接上了。

到此就完了嗎?沒有完全沒有,我們的目的是在代碼里面生成報表,再用代碼上傳,這就出現了

坑6、拿到的私鑰為什么又不對?

答:先看上面保存私鑰1與保存私鑰2的區別

PCSK與PEM上,在代碼里面我們要用到PEM形式的私鑰來進行連接,連接類庫推薦用SSH.NET

到此完成。

 


免責聲明!

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



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