使用WinSCP(SCP文件协议)连接需执行dzdo su -提权的Linux服务器的配置问题
使用WinSCP(SCP文件协议)连接需执行dzdo su -提权的Linux服务器的配置问题
我之前处理过类似的场景,给你整理几个可行的配置步骤和注意事项,你可以一步步试试:
前提准备
首先要确认你的普通用户在服务器上的dzdo权限已经配置为无需输入密码就能执行dzdo su -,因为WinSCP没办法处理交互式的密码输入,如果执行这个命令还需要输密码,得先联系服务器管理员调整dzdo的权限配置,这是后续配置能生效的基础。
具体配置步骤
- 打开WinSCP,点击「新建站点」,在基础设置里选择SCP协议,填写服务器地址、你的普通用户名和对应的登录密码(或者配置密钥登录)。
- 点击界面右下角的「高级」按钮,进入高级设置界面。
- 在左侧导航栏里找到「环境」→「Shell」选项。
- 不要用默认的Shell设置,在「Shell」输入框里填入自定义命令:
这个命令的作用是通过dzdo切换到root的登录Shell,同时指定bash作为交互Shell,让WinSCP能正常执行SCP相关命令。dzdo su - -s /bin/bash - 点击「确定」回到站点管理界面,保存这个站点配置,然后尝试连接。
如果上述配置不生效,可以试试这个替代命令
如果上面的Shell命令无法正常连接,你可以换用另一种写法,直接通过dzdo以root身份启动登录Shell:
dzdo -u root /bin/bash -l
排查小技巧
如果连接失败,你可以打开WinSCP的日志(界面顶部「查看」→「日志」),看看具体的错误提示,比如是否是命令执行失败、Shell路径不对,或者dzdo权限配置有问题,根据日志信息再调整配置会更高效。
备注:内容来源于stack exchange,提问作者Luis Perez
相关产品推荐
相关产品推荐

