刘耀文

刘耀文

java开发者
github

VSCODE SSH 智能路由配置方法

配置模板#

# 基础配置:定义别名和默认认证方式
Host custom-alias
    User your-username
    PreferredAuthentications publickey
    IdentityFile "path/to/your/private_key"

# 内网路由:通过 ping 检测内网可达性
Match host custom-alias exec "ping -n 1 -w 100 internal.ip >nul 2>&1"
    HostName internal.ip
    Port internal_port

# 外网路由:内网不通时的备选方案
Match host custom-alias
    HostName external.ip
    Port external_port

使用步骤#

  1. 替换配置项

    • custom-alias: 设置便于记忆的别名
    • your-username: 替换为登录用户名
    • path/to/your/private_key: 替换为私钥文件路径
    • internal.ip: 替换为内网 IP
    • internal_port: 替换为内网端口
    • external.ip: 替换为外网 IP
    • external_port: 替换为外网端口
  2. 连接命令

ssh custom-alias

工作原理#

  1. SSH 客户端收到 custom-alias 连接请求
  2. 按顺序检查 Match 条件:
    • 先执行 ping 命令检测内网连通性
    • 如果内网可达,使用内网配置
    • 如果内网不可达,使用外网配置
  3. 使用对应配置进行连接

注意事项#

  • Windows 系统路径使用反斜杠 \
  • Linux/Mac 系统路径使用正斜杠 /
  • ping 命令参数:
    • Windows: ping -n 1 -w 100
    • Linux/Mac: ping -c 1 -W 1
  • 确保配置文件权限正确(Linux/Mac 建议 600)

此文由 Mix Space 同步更新至 xLog
原始链接为 https://liuyaowen.cn/posts/default/202501021


加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。