如何在 Windows GUI 客户端中绕过 tty 使用 sudo

如何在 Windows GUI 客户端中绕过 tty 使用 sudo

我需要通过 ssh 复制文件,但是权限被拒绝。

我如何通过 Windows 客户端(例如 FileZilla/WinSCP)以 root 身份登录?

我尝试执行命令:

sudo su,但我收到错误:您必须有 tty 才能运行 sudo。

我尝试解决这个错误,但没有成功。

答案1

这里的基本问题是对非人为输入的保护。TTY 确保操作是通过键盘操作执行的,而不是通过其他程序执行的。现在有一种方法可以解决这个问题。

如果您有权访问 sodeors 文件,则可以处理此问题。 这不是真正推荐的方法,但确实是一种可行的方法。

打开该文件/etc/sudoers并发现以下行:

Defaults:myusername    !requiretty

这告诉系统用户myusername可以执行非键盘操作。现在您可以使用 sudo 命令处理所有文件。

最好是尽量避免这种情况。

答案2

在处理 Amazon Web Services 和 WinSCP 时,调整 sudoers 键盘输入状态不起作用,因为 WinSCP 继续抛出 AWS 不理解的 SSH 命令并会出现 bash 错误。

我遇到了同样的问题,并按照本教程中的步骤解决了它:

如何从 WinSCP 以 SSH 根用户身份登录 AWS

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

答案3

使用 WinSCP,选中“高级选项”框。在环境>SFTP 部分中,选择“sudo su -c /bin/sftp-server”选项。

确实,您的 SSH 服务器必须配置为允许您启动此类命令。

答案4

您必须考虑以 root 用户身份登录服务器,而不是使用susudo,这可以通过用户名或密码或通过密钥文件来完成。但是,服务器应该允许您这样做;如果不行,您无法远程获得 root 访问权限...

相关内容