使用WinSCP在不同帐户之间切换用户

问题描述 投票:0回答:4

有办法使用 WinSCP 在用户帐户之间切换吗?

当我使用PuTTY时,我可以使用

su
命令在不同帐户之间切换用户。

举个例子:

kitis@localhost$
kitis@localhost$ su abc
abc@localhost$

同样,当我使用WinSCP时,有没有办法在登录服务器的情况下切换用户?

linux shell unix sudo winscp
4个回答
8
投票

WinSCP 网站上有此问题的常见问题解答:
登录后如何更改用户(例如su root)?

您需要在 WinSCP 会话设置中指定

sudo
命令作为自定义 shell(如果您使用 SCP)或在自定义 SFTP 服务器启动命令中使用
sudo
(如果您使用 SFTP)。

虽然有一些限制,特别是您需要配置

sudo
不需要密码。

详情请参阅链接。


2
投票

如果用户通过 SSH 对另一个用户有 sudo。 按照以下设置,可以通过 WinSCP 对另一个用户使用相同的 sudo。 在文件协议中选择 SCP,传递主机名、用户名和密码/密钥,然后在 Shell 中的SCP/Shell下的高级设置中将值传递为 /usr/bin/sudo -u 用户名 -i,单击“确定”并保存设置。 现在在 Winscp 中,用户以 SCP/Shell 中提供的用户名登录。


1
投票

不,这是不可能的。当您想使用 SCP(在您的情况下为 WinSCP)切换用户时,您需要重新登录。您不能在SCP会话中运行任何命令,只能管理文件; fnd SCP 协议本身不支持更改当前用户 ID 的机制。如果您想在会话中更改用户,则必须使用 SSH。


0
投票

在 2024 年,如果您尝试在 Ubuntu 22 上执行此操作,您会发现以下工作:

转到:配置文件管理器 > 编辑配置文件 > 高级 > 高级站点设置 > 环境 > SFTP(不是 Shell)> SFTP 服务器:

sudo su <username> -c /usr/lib/openssh/sftp-server

请注意,您尝试

su
的用户必须分配有有效的 shell(例如
/bin/bash
),它在
/etc/passwd

中为用户指定的最后一个字段中
© www.soinside.com 2019 - 2024. All rights reserved.