在 Windows 上正確設定 OpenSSH Server 和 Guacamole SFTP
前情提要
我最近有遇到一個問題就是我 Windows 10 要使用 share devices 然後給外包廠商上傳檔案在 Guacamole 那麼我知道 Guacamole 有 SFTP 的服務可以串接讓外包廠商上傳檔案,但是中間一直連線失敗有點弄到快爆氣哈哈哈…,但是後面發現滿蠢的哈哈哈哈,廢話不多說開始吧。
 
Windows 10 / Windows Server 2019 安裝內建的 OpenSSH 工具
- 可以先用以下指令確認有哪些內建的 OpenSSH 工具 - 1 - Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*' - 輸出內容 : - 1 
 2
 3
 4
 5- Name : OpenSSH.Client~~~~0.0.1.0 
 State : Installed
 Name : OpenSSH.Server~~~~0.0.1.0
 State : Installed
 
- 安裝 OpenSSH-Client,這個預設有些是安裝的 - 1 - Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 
- 安裝 OpenSSH-Server,這樣的話就 Windows 就會有這個 Service - 1 - Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 
- 可以使用 - win+r然後輸入- services.msc- 檢查是否有 - OpenSSH SSH Server這個- Service  
- 然後開啟 Serivce 和調整成 Automatic,那麼有兩種啟動方式一種是 powershell 的方式,和 GUI 的方式 - 1 
 2
 3
 4
 5- #啟動 sshd service 
 Start-Service sshd
 # setting sshd Automatic start
 Set-Service -Name sshd -StartupType 'Automatic'  
 
- 再來確定防火牆規則吧! - 1 - Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled - 輸出內容 : - 1 
 2
 3- Name Enabled 
 ---- -------
 OpenSSH-Server-In-TCP True
 
- 可以先手動連線一下 - 先測試是否可以連線 - 1 - ssh [email protected] 
- 再來測試是否可以使用 sftp,並且確認是否有檔案到該使用者桌面 - 1 - scp test.txt [email protected]:~/Desktop 
 
Guacamole SFTP 設定
那這邊的設定及其簡單,但是讓我崩潰的點可能是我的網路太慢了,所以導致我連線的時候會一直連線不上,但是不要慌去連接一個好網路就好了,這個問題我還特別去翻了 Windows Event 看 SSH 有沒有連線成功,但是都顯示連線成功,那時候真的就通靈了哈哈哈。
- 設定 Guacamole SFTP 那麼 hostname 當然要用自己需要遠端的 IP Address,至於我不用是因為我把它塗掉了。   
- 設定成功後會按下 command + ctrl + shift + esc (mac),就會有 share devices,圖示了那麼就可以上傳檔案到這台電腦了 