You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Solaris系统中如何防止sshd_config文件重启SSH服务后被重置?

Solaris系统中如何防止sshd_config文件重启SSH服务后被重置?

我太懂你这种无语的感觉了——好不容易把sshd_config改好,还特意锁了权限防止被改,结果重启SSH服务后,文件内容和权限全打回原形,这在Solaris 11里真的是个容易踩的坑。

问题的根源其实在Solaris的**SMF(服务管理框架)**上:Solaris 11里的SSH服务并不是直接依赖/etc/ssh/sshd_config来持久化配置的,当你重启sshd时,SMF会从它自己的配置仓库里重新生成这个文件,所以你直接修改文件的操作根本留不住,连权限都会被SMF重置成它默认的设置。

那正确的操作方式应该是通过SMF的工具来修改配置,这样你的修改才会被持久化保存,不会被覆盖:

  • 第一步:用svccfg工具添加sftp子系统的配置
    执行以下命令,把你需要的sftp配置添加到SMF的SSH服务配置里:
    svccfg -s ssh:default setprop config/sshd_config += "Subsystem    sftp  /usr/lib/ssh/sftp-server"
    
  • 第二步:刷新SMF的配置,让修改生效
    svccfg -s ssh:default refresh
    
  • 第三步:验证一下配置是否已经被正确添加
    可以用这个命令查看SMF里的sshd_config配置项:
    svccfg -s ssh:default listprop config/sshd_config
    
    你应该能看到刚才添加的那行sftp配置。
  • 第四步:重启SSH服务,这次就不会被重置了
    svcadm restart ssh:default
    

之后你再查看/etc/ssh/sshd_config,会发现那行sftp配置已经稳稳在里面了,重启服务也不会消失。记住,以后在Solaris 11里修改SSH的配置,千万别再直接编辑/etc/ssh/sshd_config了,所有变更都通过svccfg来操作,SMF会帮你把配置持久化,还能自动维护正确的文件权限。

备注:内容来源于stack exchange,提问作者Ray

火山引擎 最新活动