WinSCP 使用一般 user 帳號登入使用 sudo 傳檔

有時候在用 WinSCP 傳檔時遇到只能用一般 user 帳號登入系統(root 帳號被停用),傳檔到目的地卻發現沒有權限,常常就是先傳到自己的 home 目錄,然後在用 cli 使用 sudo 權限將檔案複製到目的地,現在不用這麼麻煩囉,只要以下幾個步驟,就可以在 WinSCP 傳檔囉:

  1. 打開 WinSCP 的站台管理員,選擇你要編輯的站台
  2. 按下編輯(Edit)->進階(Advanced…)
  3. 在 環境(Environment)->SFTP 頁面,於 SFTP 伺服器(SFTP Server) 的欄位手動輸入「sudo /usr/lib/sftp-server」*ps1
  4. 到 環境(Environment)->Shell 頁面,於 Shell 的欄位輸入「sudo su -」或手動下拉選擇也可以。
  5. 按下 OK 退出視窗,然後連線到站台,選擇上傳到某個你沒有權限的目的地,WinSCP就會問你密碼,輸入正確後就會發現目的地就會有你的東西了

*ps1:sftp-server 的路徑需要在你的 linux 系統中找到正確的路徑,這有可能在以下三個地方:
/usr/lib/sftp-server

/usr/lib/openssh/sftp-server

/usr/libexec/openssh/sftp-server (centos7)

請於上述的地方找尋你有的路徑然後將完整路徑填入 SFTP Server 欄位就好囉~~