chore: 更新SSH隧道脚本密钥路径并提交私钥文件
This commit is contained in:
48
start_ssh_tunnel.sh
Normal file
48
start_ssh_tunnel.sh
Normal file
@@ -0,0 +1,48 @@
|
||||
#!/bin/bash
|
||||
# SSH 隧道启动脚本
|
||||
# 通过香港 ECS 建立本地 SOCKS5 代理,供 Clash 使用
|
||||
|
||||
KEY_PATH="/Users/aszer/code/etf/hk_ecs.pem"
|
||||
HOST="root@8.218.167.69"
|
||||
LOCAL_PORT=1080
|
||||
REMOTE_PORT=1080
|
||||
|
||||
# 检查是否已有隧道在运行
|
||||
if pgrep -f "ssh.*-D.*${LOCAL_PORT}" > /dev/null 2>&1; then
|
||||
echo "✓ SSH 隧道已在运行 (本地端口: ${LOCAL_PORT})"
|
||||
pgrep -f "ssh.*-D.*${LOCAL_PORT}" | head -1
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 确保密钥权限正确
|
||||
chmod 600 "$KEY_PATH" 2>/dev/null
|
||||
|
||||
# 修复可能的 Windows 换行符问题
|
||||
sed -i '' 's/\r$//' "$KEY_PATH" 2>/dev/null
|
||||
|
||||
echo "正在建立 SSH 隧道..."
|
||||
echo " 服务器: ${HOST}"
|
||||
echo " 本地 SOCKS5 端口: ${LOCAL_PORT}"
|
||||
echo " 密钥: ${KEY_PATH}"
|
||||
|
||||
ssh -N -D 127.0.0.1:${LOCAL_PORT} \
|
||||
-o StrictHostKeyChecking=no \
|
||||
-o UserKnownHostsFile=/dev/null \
|
||||
-o ServerAliveInterval=60 \
|
||||
-o ServerAliveCountMax=3 \
|
||||
-i "$KEY_PATH" \
|
||||
-p 22 \
|
||||
"$HOST" &
|
||||
|
||||
SSH_PID=$!
|
||||
sleep 2
|
||||
|
||||
if kill -0 $SSH_PID 2>/dev/null; then
|
||||
echo "✓ SSH 隧道已建立 (PID: ${SSH_PID})"
|
||||
echo " 本地代理: socks5://127.0.0.1:${LOCAL_PORT}"
|
||||
echo ""
|
||||
echo "现在可以启动 Clash 使用 'SSH香港' 节点了"
|
||||
else
|
||||
echo "✗ SSH 隧道建立失败"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user