設定テンプレート
CONFIG
# 基础配置:定义别名和默认认证方式
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: 外部ネットワークのポート番号に置き換える
接続コマンド
BASHssh 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を推奨)