33607


ssh の設定は普通は `~/.ssh/config` に記載されますが、プロジェクトごとに config を特殊化して使いたい場合などがあります。

## 質問:

ssh は普通に実行すると、 `~/.ssh/config` が利用されますが、これ以外の場所に config を作成して、実行時にコマンドラインからこの別
config を読み込むように指定することはできますか？


CC BY-SA 3.0
2017-03-28T09:08:14.783
33605
2017-03-28T14:09:40.543
754
question
ssh openssh
ssh コマンドで利用する config を指定することはできるか


manで確認したところ以下の記載がありました。

[code]

     -F configfile
             Specifies an alternative per-user configuration file.  If a configuration file is given on the command line, the system-wide configuration file
             (/etc/ssh/ssh_config) will be ignored.  The default for the per-user configuration file is ~/.ssh/config.
    
[/code]

コマンドラインからユーザごとの設定を指定するのであれば-Fオプションで可能です。


CC BY-SA 3.0
2017-03-28T09:38:41.687
33607
2017-03-28T09:38:41.687
20272
33605
answer


OpenSSH 7.3 より `ssh_config` に導入された `Include` キーワードを利用してはどうでしょうか。

プロジェクトごとに config ファイルを分割、それらを `~/.ssh/config` 内でまとめて読み込めば目的は果たせるかと思います。

[code]

    # 記述例
    # ファイル名には HOME `~` やワイルドカード `*` が指定可能
    Include config_localnet
    Include ~/path/to/ssh_config_*
    
    Host example
        HostName example.com
        Include configs/example
    
[/code]


CC BY-SA 3.0
2017-03-28T14:09:40.543
33614
2017-03-28T14:09:40.543
2391
33605
answer