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

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

我使用实例的私钥使用 ec2-user登录到 Amazon 实例。但是 ec2-user没有写入 Linux 实例的权限

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

谢谢

214854 次浏览

AFAIK 你不能这么做。
在我工作的地方,我所做的就是通过 WinSCP 把文件传输到你的 home(~)文件夹(或者任何你有完全权限的文件夹,比如 chmod 777或者变体) ,然后 SSH 传输到你的 linux 机器,sudo传输到你的目标文件夹。

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

我也会阅读有关 远程命令的进一步细节。

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

  • 转到 WinSCP 配置文件(Session > Site > Site Manager)

  • 点击编辑 > 高级... > 环境 > SFTP

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

  • 保存并连接

来源

AWS Ubuntu 18.04: enter image description here

通常,所有用户都可以对/tmp 进行写访问。 将文件放置到/tmp,然后登录到 putty,然后可以执行 sudo 并复制文件。

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

enter image description here

enter image description here

我也有同样的问题我不确定这是否可行,

试过以上的解决办法对我来说都不管用。

为了解决这个问题,我将把这些文件移动到我的 HOME 目录,编辑并用 SSH 替换这些文件。

标记这个帮助我的答案,可能并不能回答实际的问题

如果您使用的是密码而不是私钥,请参考 Ubuntu 16.04.5和20.04.1上测试过的工作解决方案的答案

Https://stackoverflow.com/a/65466397/2457076

我只是想提一下 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

温斯普:

under session login ==> Advanced ==> SFTP

将 SFTP 服务器更改为:

sudo /usr/libexec/openssh/sftp-server