Appearance
autossh 日常运维手册
这份文档面向“已经配置完成之后”的日常使用和维护。
适合场景:
- 平时启动、停止、重载服务
- 检查服务是否正常
- 查看日志
- 重启电脑后确认服务是否恢复
- 多实例时做基础维护
1. 日常最常用命令
如果已经把函数写进 ~/.zshrc,平时主要用这些:
bash
autossh-start
autossh-stop
autossh-reload
autossh-status
autossh-log
autossh-log-follow2. 常见操作场景
启动服务
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 + C3. 推荐巡检动作
如果想快速确认当前代理是否健康,建议按这个顺序:
- 查看状态
bash
autossh-status- 看日志
bash
autossh-log- 测试代理
bash
curl --socks5 127.0.0.1:1080 https://ifconfig.me如果三步都正常,通常说明服务是好的。
4. 修改配置后的标准操作
如果你改了下面这些内容:
- 远端用户名
- 远端 IP
- 本地监听端口
autossh路径- 日志文件路径
建议使用这套流程:
- 先保存
plist - 执行:
bash
autossh-reload- 查看:
bash
autossh-status
autossh-log- 再测试代理:
bash
curl --socks5 127.0.0.1:1080 https://ifconfig.me5. 重启或重新登录后的检查
系统重启或重新登录后,建议做一次快速确认:
bash
autossh-status如果不放心,再补一次:
bash
curl --socks5 127.0.0.1:1080 https://ifconfig.me如果没有自动恢复,优先看:
bash
autossh-log6. 端口被占用时怎么办
如果本地 1080 被其他程序占用,通常会导致代理启动失败。
先看谁占用了端口:
bash
lsof -i :1080然后二选一:
- 停掉占用
1080的程序 - 把
autossh改成其他端口,比如7890
如果改端口,需要同步改:
plist里的-D端口- 日志文件名
Label- 你自己的代理使用方式
7. 多实例维护建议
如果你运行多个实例,建议:
- 每个实例单独一个
plist - 每个实例单独一个
Label - 每个实例单独一个本地端口
- 每个实例单独一个日志文件
最好连函数名也区分开,例如:
bash
autossh-hk-start
autossh-jp-start8. 遇到异常时的标准处理
如果感觉代理异常,推荐按顺序做:
autossh-statusautossh-logcurl --socks5 127.0.0.1:1080 https://ifconfig.meautossh-reload- 如果还不行,用前台命令测试一次
前台测试命令:
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 配置在日常维护里最重要的原则就是:
- 命令统一
- 命名统一
- 日志可查
- 出问题时优先前台排查