我发现一些资料表明我可以通过 SFTP 客户端(特别是 winSCP)以 sudo 用户身份使用 SFTP。此链接概述了我需要采取的所有步骤,但它仍然不起作用(https://winscp.net/eng/docs/faq_su)。
有人知道我哪里做错了吗?
我首先从我的终端连接到 AWS-EC2 实例https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance),然后连接到 winSCP。我能够通过我的常规 ubuntu 用户上传文件。
我按照这里的所有步骤进行操作(https://stackoverflow.com/questions/3381498/how-to-use-sudo-over-sftp-with-cyberduck),但仍然收到以下错误消息。使用 sudo 用户启动 winSCP 会话时:
我在高级站点设置下为文件协议选择了 SFTP 我
sudo su -c /bin/sftp-server
在高级站点设置下为 SFTP 服务器选择了 SFTP 我sudo su -
在高级站点设置下为 shell 选择了 SFTP 尝试使用 sudo 用户登录后,收到错误消息:
错误:没有可用的受支持的身份验证方法(服务器发送:公钥)身份验证日志(有关详细信息,请参阅会话日志):使用用户名“sudouser”。服务器拒绝我们的密钥。身份验证失败。
由于上面的 winSCP 说明说要禁用密码验证,我还在登录用户“sudouser”时在终端上进入了 visudo(通过输入sudo visudo
)。我尝试使用“sudouser ALL=NOPASSWD: ALL”和“sudouser ALL=(ALL) NOPASSWD: ALL”。我在 winSCP 中仍然收到相同的错误消息。
有人知道如何让 sudo 用户通过 winSCP 上的 SFTP 进行连接同时保留我的 sudo 密码吗?
我是否必须使用与从 ec2 获得的私钥不同的私钥?