SSH構成ファイルで変数を使用する方法

SSH構成ファイルで変数を使用する方法

SSH設定ファイルを$HOME置き換えるために使用したいと思います。/Users/Me

Host MyHost
    HostName 192.168.1.1
    IdentitiesOnly yes
    User me
    IdentityFile "/Users/Me/.ssh/id_rsa"

しかし、私は得た。no such identity: $HOME/.ssh/id_rsa: No such file or directory

ベストアンサー1

少なくとも私のDebian 10システムでは、ssh_config(5)マニュアルページに次のように表示されます。

議論身分証明書チルダ構文を使用して、ユーザーのホームディレクトリまたはTOKENSセクションで説明されているトークンを参照できます。

したがって、次のように行を作成$HOMEできます。IdentityFile

IdentityFile "~/.ssh/id_rsa"

または次のように:

IdentityFile "%d/.ssh/id_rsa"

環境変数構文(${HOME})のサポートは構成項目でのみ言及されており、記載されていIdentityAgentませんIdentityFileOpenSSHリリースノートCertificateFile環境変数構文サポートと設定キーワードがOpenSSHバージョン8.4(2020-09-27にリリース)に追加されましたControlPathIdentityFileDebian 10にはバージョン7.9のみがあります(最新のセキュリティ修正としてバックポートされています)。

したがって、この記事を書いている時点で非常に新しいLinuxディストリビューションを使用しない限り、OpenSSHバージョンは${HOME}SSH設定ファイルの構文の使用をサポートするには古すぎるかもしれません。

おすすめ記事