如何在 SFTP 客户端中将用户更改为 root?

如何在 SFTP 客户端中将用户更改为 root?

总是建议第一步禁用rootSSH 协议的远程登录。我有一个权限较低的用户可以通过 SSH 连接,一旦连接,我只是su想获得更多权限。

现在,当使用 SFTP 客户端时,我使用低权限用户,因此几乎什么也做不了。

我的问题是:是否可以使用第三方客户端(例如 Transmit、Cyber​​duck、FileZilla)在登录后更改用户?(Mac 客户端会很棒)

答案1

不,无法在 sftp 中提升您的权限。

理想情况下,您应该修复文件系统权限,以便不需要 root 权限来下载/上传您正在处理的内容。

如果无法更改权限,那么可以在禁用 root 登录和使用密码登录之间做出妥协。您可以设置PermitRootLogin without-password然后简单地使用基于密钥的身份验证。

答案2

说不能用 SFTP 更改用户并不完全正确。

例如,即使您正在连接到通用 OpenSSH 服务器,您也可以使用 SFTP 服务器启动命令指示它以提升的权限运行 SFTP 子系统/服务器,例如:

sudo /path/to/sftp-server

例如,使用 OpenSSHsftp客户端,您可以使用以下命令:

sftp -s "sudo /path/to/sftp-server" [email protected]

或者使用(我的)WinSCP SFTP 客户端,您也可以覆盖 SFTP 服务器启动命令(均在图形用户界面和脚本)。

但是要实现这个功能有很多限制。特别是sudo可能不需要密码和 TTY。有关详细信息,请参阅 WinSCP FAQ登录后如何更改用户(例如 su root)?

相关内容