Security
如何在 SFTP 客戶端中將使用者更改為 root?
始終建議在第一步禁用
root
SSH 協議的遠端登錄。我有一個能夠通過 SSH 連接的低權限使用者,一旦連接,我只是su
為了獲得更多權限。現在,當使用 SFTP 客戶端時,我使用的是低權限使用者,因此幾乎什麼都做不了。
我的問題是:是否可以在使用 3rd 方客戶端(例如 Transmit、Cyberduck、FileZilla)登錄後更改使用者?(Mac客戶端會很棒)
不,不可能在 sftp 中提升您的權限。
理想情況下,您應該修復文件系統權限,以便不需要 root 權限來下載/上傳您正在處理的任何內容。
如果更改權限不是一種選擇,那麼在禁用 root 登錄和使用密碼登錄之間存在折衷方案。您可以設置
PermitRootLogin without-password
然後簡單地使用基於密鑰的身份驗證。
您不能使用 SFTP 更改使用者並不完全正確。
例如,即使您連接到公共 OpenSSH 伺服器,您也可以使用 SFTP 伺服器啟動命令指示它以提升的權限執行 SFTP 子系統/伺服器,例如:
sudo /path/to/sftp-server
例如,對於 OpenSSH
sftp
客戶端,您可以使用以下內容:sftp -s "sudo /path/to/sftp-server" user@example.com
或者使用(我的)WinSCP SFTP 客戶端,您還可以覆蓋 SFTP 伺服器啟動命令(在GUI和腳本中)。
但是允許這個工作有很多限制。特別是
sudo
可能不需要密碼和 TTY。有關詳細資訊,請參閱 WinSCP 常見問題我如何在登錄後更改使用者(例如 su root)?