操作前说明 #

执行系统命令前,最好确认当前是否以管理员身份运行。涉及电源计划、进程管理、远程访问、授权、系统组件的操作,不建议在不了解影响范围的情况下直接套用。

原始操作记录 #

首先SSH到服务器,进行配置

1、获取 sftp_server 的路径

Bash
cat /etc/ssh/sshd_config|grep sftp
Subsystem sftp /usr/lib/openssh/sftp-server

2、为特定用户添加免密码执行 sudo sftp_server 的权限

TEXT
visudo

如果有

TEXT
Defaults    requiretty

则需要把这行注释

然后添加

TEXT
yourname ALL=NOPASSWD: /usr/lib/openssh/sftp-server

需要注意的是,这行一定要在

“%sudo ALL=(ALL:ALL) ALL”之下

“#includedir /etc/sudoers.d”之上

国内的大部分文章都没提到这点,我在配置时遇到问题,Google 之后才发现这个关键点。

另外 visudo 之后直接就是编辑状态,保存退出需要先 ^+O,然后回车,最后 ^+X。

3、服务器配置完成,配置 WinSCP

编辑站点,进入高级设置

在 SFTP 配置里填写 SFTP 服务器为“sudo /usr/lib/openssh/sftp-server”

在 Shell 配置里填写“sudo -i”

然后“确定”,“保存”

完成了,享受 WinSCP 以普通用户登录却拥有 root 权限的便利吧!

关键理解 #

这类笔记最重要的不是把命令背下来,而是弄清楚它解决的是什么问题、依赖什么环境、执行后会改变什么。以后再次遇到类似情况时,可以先根据标题判断问题方向,再对照原始命令确认是否适合当前系统版本。

如果命令中包含具体路径、网卡名、磁盘名、进程名、IP 地址、端口号、用户名称或软件版本,实际执行时都要替换成自己环境中的真实值。不要直接照抄示例里的占位内容。

验证方法 #

操作完成后可以通过控制面板、设置页面、任务管理器、事件查看器、PowerShell 输出或软件自身状态进行确认。不要只依赖命令执行后是否有提示。

如果验证结果和预期不一致,建议先不要继续叠加更多修改,而是回到第一步检查环境差异。很多问题并不是命令本身错误,而是当前系统版本、软件版本、路径名称或权限条件与原记录不一致。

注意事项 #

如果是公司电脑或受域策略管理的设备,部分设置可能会被组策略、杀毒软件或企业管理工具覆盖,建议先确认管理策略。

对于旧文章中的命令,还要考虑软件版本变化。浏览器 flags、Linux 发行版默认配置、Python 包版本、Windows 系统设置都会随着时间调整。再次使用时,最好把这篇记录当成排查思路,而不是绝对固定的唯一答案。

小结 #

这篇记录可以作为一个快速索引:先看标题确认问题类型,再看原始命令找到核心操作,最后结合验证方法确认是否真正生效。这样既保留了早期备忘的简洁性,也能减少以后重复排查的时间。