在 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
5Name : 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
3Name 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,圖示了那麼就可以上傳檔案到這台電腦了