Appearance
autossh 命令速查表
这份文档只保留常用命令,尽量不写解释,适合快速复制使用。
1. 安装
bash
brew install autossh
which autossh2. 测试 SSH
bash
ssh your_user@100.x.x.x3. 生成 SSH 密钥
bash
ssh-keygen -t ed255194. 复制公钥到远端
bash
ssh-copy-id your_user@100.x.x.x5. 手动后台启动代理
bash
autossh -M 0 -f -N -D 1080 \
-o "ServerAliveInterval 30" \
-o "ServerAliveCountMax 3" \
-o "ExitOnForwardFailure yes" \
your_user@100.x.x.x6. 查看 1080 端口
bash
lsof -i :10807. 查看错误日志
bash
cat /tmp/autossh-socks1080.err8. 测试 SOCKS 代理
bash
curl --socks5 127.0.0.1:1080 https://ifconfig.me9. 创建 LaunchAgents 目录
bash
mkdir -p ~/Library/LaunchAgents10. 旧写法加载与卸载
bash
launchctl load ~/Library/LaunchAgents/com.autossh.socks1080.plist
launchctl unload ~/Library/LaunchAgents/com.autossh.socks1080.plist11. 新写法加载与卸载
bash
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.autossh.socks1080.plist
launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/com.autossh.socks1080.plist12. 查看服务
bash
launchctl list | grep autossh
launchctl print gui/$(id -u)/com.autossh.socks108013. 建议加入 ~/.zshrc 的函数
bash
AUTOSSH_PLIST="$HOME/Library/LaunchAgents/com.autossh.socks1080.plist"
AUTOSSH_DOMAIN="gui/$(id -u)"
AUTOSSH_LABEL="com.autossh.socks1080"
AUTOSSH_OUT_LOG="/tmp/autossh-socks1080.out"
AUTOSSH_ERR_LOG="/tmp/autossh-socks1080.err"
autossh-start() {
launchctl bootstrap "$AUTOSSH_DOMAIN" "$AUTOSSH_PLIST"
}
autossh-stop() {
launchctl bootout "$AUTOSSH_DOMAIN" "$AUTOSSH_PLIST"
}
autossh-reload() {
launchctl bootout "$AUTOSSH_DOMAIN" "$AUTOSSH_PLIST" 2>/dev/null
launchctl bootstrap "$AUTOSSH_DOMAIN" "$AUTOSSH_PLIST"
}
autossh-status() {
echo "== launchctl =="
launchctl print "$AUTOSSH_DOMAIN/$AUTOSSH_LABEL" 2>/dev/null || echo "service not loaded"
echo
echo "== port 1080 =="
lsof -i :1080
}
autossh-log() {
echo "== stdout: $AUTOSSH_OUT_LOG =="
[ -f "$AUTOSSH_OUT_LOG" ] && tail -n 50 "$AUTOSSH_OUT_LOG" || echo "no stdout log"
echo
echo "== stderr: $AUTOSSH_ERR_LOG =="
[ -f "$AUTOSSH_ERR_LOG" ] && tail -n 50 "$AUTOSSH_ERR_LOG" || echo "no stderr log"
}
autossh-log-follow() {
touch "$AUTOSSH_OUT_LOG" "$AUTOSSH_ERR_LOG"
tail -f "$AUTOSSH_OUT_LOG" "$AUTOSSH_ERR_LOG"
}14. 重新加载 shell 配置
bash
source ~/.zshrc15. 快捷函数使用
bash
autossh-start
autossh-stop
autossh-reload
autossh-status
autossh-log
autossh-log-follow16. 前台排查命令
bash
autossh -M 0 -N -D 1080 \
-o "ServerAliveInterval 30" \
-o "ServerAliveCountMax 3" \
-o "ExitOnForwardFailure yes" \
your_user@100.x.x.x