SFTP 连接后如何 sudo 到管理员用户

SFTP 连接后如何 sudo 到管理员用户

使用以下命令连接到 SFTP 服务器后,我需要sudo用户“admin”。

sftp user@hostname
sftp> sudo su - admin
Invalid command.

我还有其他方法可以使用吗sudo

答案1

不能使用 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常见问题解答登录后如何更改用户(例如su root)?

答案2

FTP / SFTP 不是可以运行命令的 shell。它是一个非常专用的协议,用于文件传输和相关操作。因此,该sftp程序只能为您提供该协议功能的命令接口。

所以,根据不存在的设计sftp,你不能。

如果您可以通过 plain 访问同一台服务器ssh,然后您可以运行类似命令sudo并从那里访问您关心的文件,例如,将它们放入存档文件中,为您最初登录的用户专门授予访问权限,然后复制它。

相关内容