如何 运行 WinSCP 中的 SUDO 命令将文件从 Windows 传输到 linux

How to run SUDO command in WinSCP to transfer files from Windows to linux

我正在尝试使用 WinSCP 将文件从 Windows 传输到 Linux 实例。

我正在使用我的实例的私钥使用 ec2-user 登录 Amazon 实例。但是 ec2-user 无权写入 Linux 实例

如何 sudo su - 使用 WinSCP 或任何其他文件传输方法访问根目录并写入 linux 框?

谢谢

据我所知你不能那样做。
我在工作地点所做的是将文件传输到您的 home (~) 文件夹(或者您拥有完全权限的任何文件夹,即 chmod 777 或变体)通过WinSCP,然后通过 SSH 连接到您的 linux 机器并从那里 sudo 连接到您的目标文件夹。

另一种解决方案是更改您计划将文件上传到的目录的权限,以便您的用户(没有 sudo 权限)可以写入这些目录。

我还会阅读有关 WinSCP Remote Commands 的更多详细信息。

我知道这是旧的,但实际上很有可能

  • 转到您的 WinSCP 配置文件(会话 > 站点 > 站点管理器)

  • 单击“编辑”>“高级...”>“环境”>“SFTP”

  • 在“SFTP 服务器”中插入 sudo su -c /usr/lib/sftp-server(注意此路径在您的系统中可能不同)

  • 保存并连接

Source

AWS Ubuntu 18.04:

通常所有用户都对 /tmp 具有写入权限。 将文件放到 /tmp 下,然后登录 putty ,就可以sudo复制文件了。

WinSCP 中有一个选项可以满足您的需求:

我也遇到了同样的问题,不知道可不可以,

试过以上解决方案都不适合我。

作为解决方法,我将把文件移动到我的 HOME 目录,使用 SSH 编辑和替换文件。

标记这个对我有帮助的答案,可能无法回答实际问题

如果您使用的是密码而不是私钥,请参阅此答案以获取在 Ubuntu 16.04.5 和 20.04.1

上经过测试的有效解决方案

我只想提及 EC2 实例上的 SUSE Enterprise Server V15.2 添加到 winSCP SFTP 服务器命令的命令是:

sudo su -c /usr/lib/ssh/sftp-server

我没有足够的声誉点数来为原始答案添加评论,但我不得不把它捞出来,所以我想添加它。

sshFreePBX 和 运行 在您的终端中执行以下命令:

sudo nano -f /etc/sudoers.d/my_config_file

YourUserName ALL=(ALL) NOPASSWD:ALL

sudo systemctl restart sshd

Winscp:

under session login ==> Advanced ==> SFTP

将 SFTP 服务器更改为:

sudo /usr/libexec/openssh/sftp-server