Skip to content

当前配置变更建议

这份文档用于说明:如果以后要修改当前真实配置,通常需要改哪些地方,以及建议按什么顺序改。

适用场景:

  • 想改远端用户名
  • 想改远端 IP
  • 想改本地代理端口
  • 想改日志路径
  • 想把当前单实例配置调整成更规范的命名

1. 当前真实配置回顾

当前配置的关键信息是:

  • 远端目标:your_user@100.x.x.x
  • 本地端口:1080
  • Labelcom.autossh.socks1080
  • plist 路径:~/Library/LaunchAgents/com.autossh.socks1080.plist
  • stdout:/tmp/autossh-socks1080.out
  • stderr:/tmp/autossh-socks1080.err

2. 如果只改远端用户名或远端 IP

通常只需要改一处核心位置:

  • plist 中的 SSH 目标字符串

当前值:

text
your_user@100.x.x.x

例如改成:

text
newuser@203.0.113.20

建议同时更新:

修改后建议执行:

bash
autossh-reload
autossh-status
autossh-log

3. 如果要改本地代理端口

例如把 1080 改成 7890,通常需要同步改这些地方:

1. 真实 plist

把:

text
-D 1080

改成:

text
-D 7890

2. Label

建议从:

text
com.autossh.socks1080

改成:

text
com.autossh.socks7890

3. plist 文件名

建议从:

text
~/Library/LaunchAgents/com.autossh.socks1080.plist

改成:

text
~/Library/LaunchAgents/com.autossh.socks7890.plist

4. 日志文件路径

建议从:

text
/tmp/autossh-socks1080.out
/tmp/autossh-socks1080.err

改成:

text
/tmp/autossh-socks7890.out
/tmp/autossh-socks7890.err

5. ~/.zshrc 里的变量和状态命令

需要同步调整:

  • AUTOSSH_PLIST
  • AUTOSSH_LABEL
  • AUTOSSH_OUT_LOG
  • AUTOSSH_ERR_LOG
  • lsof -i :1080

6. 文档快照

建议同步更新:

4. 如果只想改日志路径

通常要改:

  • 真实 plist 中的 StandardOutPath
  • 真实 plist 中的 StandardErrorPath
  • ~/.zshrc 中的:
    • AUTOSSH_OUT_LOG
    • AUTOSSH_ERR_LOG

建议保持日志名和实例名、端口名一致,这样最好排查。

5. 如果想升级成更规范的命名

当前命名对单实例已经够用了。
如果你以后想升级成更规范的风格,可以改成类似:

text
com.autossh.main.socks1080

或者:

text
com.autossh.work.socks1080

这时通常要一起改:

  • Label
  • plist 文件名
  • AUTOSSH_LABEL
  • 日志文件名
  • 文档快照中的相关记录

建议先参考:

6. 推荐修改顺序

无论改哪一类配置,都建议按下面顺序操作:

  1. 先改真实 plist
  2. 再改 ~/.zshrc 相关变量和函数
  3. 执行:
bash
source ~/.zshrc
autossh-reload
  1. 检查:
bash
autossh-status
autossh-log
  1. 测试代理:
bash
curl --socks5 127.0.0.1:1080 https://ifconfig.me

如果你改的不是 1080,这里记得把端口一起改掉。

  1. 最后同步更新文档快照

7. 最稳妥的做法

如果改动比较大,例如同时改:

  • 端口
  • Label
  • 文件名
  • 多实例结构

建议先基于模板目录重新生成一份新配置,再切换过去,而不是在旧配置上零碎修改。

这样更不容易漏改。