配置テンプレート#
# 基本設定:エイリアスとデフォルト認証方式を定義
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
使用手順#
-
設定項目の置き換え
custom-alias
: 覚えやすいエイリアスを設定your-username
: ログインユーザー名に置き換えpath/to/your/private_key
: 秘密鍵ファイルのパスに置き換えinternal.ip
: 内部ネットワークの IP に置き換えinternal_port
: 内部ネットワークのポートに置き換えexternal.ip
: 外部ネットワークの IP に置き換えexternal_port
: 外部ネットワークのポートに置き換え
-
接続コマンド
ssh custom-alias
動作原理#
- SSH クライアントが
custom-alias
接続要求を受信 - Match 条件を順番にチェック:
- まず ping コマンドで内部ネットワークの接続性を確認
- 内部ネットワークに到達可能な場合、内部ネットワーク設定を使用
- 内部ネットワークに到達不可能な場合、外部ネットワーク設定を使用
- 対応する設定を使用して接続
注意事項#
- Windows システムのパスはバックスラッシュ
\
を使用 - Linux/Mac システムのパスはスラッシュ
/
を使用 - ping コマンドのパラメータ:
- Windows:
ping -n 1 -w 100
- Linux/Mac:
ping -c 1 -W 1
- Windows:
- 設定ファイルの権限が正しいことを確認(Linux/Mac では 600 を推奨)
この記事は Mix Space によって xLog に同期更新されました
元のリンクは https://liuyaowen.cn/posts/default/202501021