Tag: vscode

Remote SSH で Include ディレクティブを利用したときにハマったこと

こんにちは、M1の中川です。今年度よりCDSLに配属になったのでブログ初投稿です。 最近になって、ssh_configに書かれたHostの数が増えるにつれ、configファイルを分割したいというモチベーションが湧いてきました。そこで今回、OpenSSH 7.3から利用可能になった Include ディレクティブを用いて以下のように、ファイル分割を試みました。 ~/.ssh/config ~/.ssh/conf.d/foo ~/.ssh/conf.d/bar これを用いてターミナル上から、ssh hoge はもちろん、ssh foo やらssh bar をすることになんら問題はありませんでした。しかし、Visual Studio Codeの拡張機能にあるRemote SSHの方で問題が生じました。~/.ssh/configに直接書かれたhogeはRemote SSHに認識されましたが、fooやbarが認識されませんでした。どうもInclude が機能していないように見えます。 ここで、「なんだRemote SSHでInclude使えないじゃん」と一旦諦めたのですが、後日改めてconfigの分割に挑戦をしていたところ、Remote SSHのレポジトリにそれらしきIssueを見つけました。要はIncludeディレクティブの* (ワイルドカード)に対応ができていないということで、~/.ssh/config を ~/.ssh/config のように書き換える必要がありました。(完全に盲点で、ワイルドカードだけがNGだとは思いもしませんでした。)書き換えたら、ちゃんとRemote SSHにfoo,barともに認識されるようになりました 🙂 まとめ 今回は、ssh_configのIncludeディレクティブの紹介と、Remote SSHでは (今のところ) ssh_configのIncludeディレクティブで * (ワイルドカード) が利用できないため1ファイルずつ Include をする必要がある、という話をしました。Includeディレクティブによるファイル分割も、Remote SSHもとっても便利なのでどんどん活用していきましょう!