Skip to content

autossh 日常运维手册

这份文档面向“已经配置完成之后”的日常使用和维护。

适合场景:

  • 平时启动、停止、重载服务
  • 检查服务是否正常
  • 查看日志
  • 重启电脑后确认服务是否恢复
  • 多实例时做基础维护

1. 日常最常用命令

如果已经把函数写进 ~/.zshrc,平时主要用这些:

bash
autossh-start
autossh-stop
autossh-reload
autossh-status
autossh-log
autossh-log-follow

2. 常见操作场景

启动服务

bash
autossh-start

适用:

  • 刚开机但服务没起来
  • 手动停过服务后想重新启动

停止服务

bash
autossh-stop

适用:

  • 暂时不需要代理
  • 想释放本地 1080 端口
  • 准备改配置前先停服务

重载服务

bash
autossh-reload

适用:

  • 修改了 plist
  • 想重新建立连接
  • 想用最省事的方式刷新服务状态

查看状态

bash
autossh-status

主要看两部分:

  • launchctl 里服务是否存在
  • 1080 端口是否在监听

查看日志

bash
autossh-log

适用:

  • 想看最近是否报错
  • 想确认是否有 SSH 连接失败信息

持续跟踪日志

bash
autossh-log-follow

适用:

  • 正在做排查
  • 刚执行了 autossh-reload
  • 想实时观察服务行为

退出方法:

bash
Ctrl + C

3. 推荐巡检动作

如果想快速确认当前代理是否健康,建议按这个顺序:

  1. 查看状态
bash
autossh-status
  1. 看日志
bash
autossh-log
  1. 测试代理
bash
curl --socks5 127.0.0.1:1080 https://ifconfig.me

如果三步都正常,通常说明服务是好的。

4. 修改配置后的标准操作

如果你改了下面这些内容:

  • 远端用户名
  • 远端 IP
  • 本地监听端口
  • autossh 路径
  • 日志文件路径

建议使用这套流程:

  1. 先保存 plist
  2. 执行:
bash
autossh-reload
  1. 查看:
bash
autossh-status
autossh-log
  1. 再测试代理:
bash
curl --socks5 127.0.0.1:1080 https://ifconfig.me

5. 重启或重新登录后的检查

系统重启或重新登录后,建议做一次快速确认:

bash
autossh-status

如果不放心,再补一次:

bash
curl --socks5 127.0.0.1:1080 https://ifconfig.me

如果没有自动恢复,优先看:

bash
autossh-log

6. 端口被占用时怎么办

如果本地 1080 被其他程序占用,通常会导致代理启动失败。

先看谁占用了端口:

bash
lsof -i :1080

然后二选一:

  • 停掉占用 1080 的程序
  • autossh 改成其他端口,比如 7890

如果改端口,需要同步改:

  • plist 里的 -D 端口
  • 日志文件名
  • Label
  • 你自己的代理使用方式

7. 多实例维护建议

如果你运行多个实例,建议:

  • 每个实例单独一个 plist
  • 每个实例单独一个 Label
  • 每个实例单独一个本地端口
  • 每个实例单独一个日志文件

最好连函数名也区分开,例如:

bash
autossh-hk-start
autossh-jp-start

8. 遇到异常时的标准处理

如果感觉代理异常,推荐按顺序做:

  1. autossh-status
  2. autossh-log
  3. curl --socks5 127.0.0.1:1080 https://ifconfig.me
  4. autossh-reload
  5. 如果还不行,用前台命令测试一次

前台测试命令:

bash
autossh -M 0 -N -D 1080 \
  -o "ServerAliveInterval 30" \
  -o "ServerAliveCountMax 3" \
  -o "ExitOnForwardFailure yes" \
  your_user@100.x.x.x

这里不要加 -f,这样才能直接看到报错。

9. 建议保留的检查习惯

建议长期保留这几个习惯:

  • 改配置后一定 autossh-reload
  • 重启电脑后看一次 autossh-status
  • 真有问题时优先看日志
  • 不只看端口监听,还要测代理出网

10. 结论

这套 autossh 配置在日常维护里最重要的原则就是:

  • 命令统一
  • 命名统一
  • 日志可查
  • 出问题时优先前台排查