You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用sed替换SSH配置文件文本遇权限问题及变量失效求助

解决sed修改sshd_config的权限与变量解析问题

问题根源

  • sed命令用单引号包裹时,bash不会解析里面的变量,导致sed实际在查找$text_to_find字符串,而非你定义的#Banner none。
  • text_to_replace赋值时多套了一层双引号,会导致替换后的内容带多余引号,还可能干扰sed语法。
  • /etc/ssh/sshd_config是系统敏感文件,普通用户无写入权限,必须用sudo执行修改操作。

修正后的脚本代码

text_to_find="#Banner none"
text_to_replace="Banner /etc/issue.net"
sudo sed -i "s/$text_to_find/$text_to_replace/g" /etc/ssh/sshd_config

关键说明

  • 把sed的单引号改成双引号,让bash能正确解析变量。
  • 去掉text_to_replace赋值时多余的双引号,避免替换内容带引号。
  • 加上sudo提升权限,解决文件写入被拒绝的问题。

内容的提问来源于stack exchange,提问作者technologyresearcher

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 23:22:36