我正在尝试使用WinSCP从Windows传输文件到Linux实例。
我使用我的实例的私钥以ec2-user
用户身份登录Amazon实例。然而,ec2-user
没有写入Linux实例的权限。
我该如何通过WinSCP或其他文件传输方式使用sudo su
访问根目录并向Linux盒子写入文件?
谢谢。
我知道这很旧,但实际上非常可能。
进入您的WinSCP配置文件(会话>站点>站点管理器)
单击编辑>高级...>环境>SFTP
在“ SFTP服务器”中插入sudo su -c /usr/lib/sftp-server
(请注意,在您的系统中此路径可能不同)
保存并连接
据我所知你无法这样做。
在我的工作场所,我是通过WinSCP将文件传输到您的home
(~
)目录(或者任何您具有完全权限的目录,例如chmod 777
或其变体),然后从那里通过SSH连接到您的Linux机器,并使用sudo
命令将它们复制到目标文件夹中。
另一种解决方案是更改要上传文件的目录的权限,以便您的用户(没有sudo
权限)可以写入这些目录。
我还建议您阅读WinSCP远程命令以获取更多详细信息。
我想提醒一下,在EC2实例上安装SUSE Enterprise Server V15.2时,需要添加到winSCP SFTP服务器命令的命令是:
sudo su -c /usr/lib/ssh/sftp-server
由于我的声望不足以在原答案中添加评论,但我必须找出这个命令并加以补充。
使用 ssh
登录到 FreePBX
并在终端中运行以下命令:
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
我有同样的问题,不确定是否可行。
尝试了上面的解决方案对我没有起作用。
为了解决这个问题,我将文件移动到我的主目录下,使用SSH编辑和替换文件。
标记这个帮助我的答案,可能没有回答实际问题
如果您使用密码而不是私钥,请参考此答案,在Ubuntu 16.04.5和20.04.1上提供已测试的工作解决方案
/usr/libexec/openssh/sftp-server
是 SFTP 服务器。 - Ahsaan Yousufsudo su -c /usr/lib/sftp-server
)。 - Adamsudo /usr/libexec/openssh/sftp-server
- Peuczynski