Как использовать переменную в файле конфигурации SSH

Это можно обойти, хотя этот метод довольно хакерский и не позволяет пользователю использовать клавишу Windows в качестве модификатора

  1. Настройки ->Панель настроек ->ввод ->клавиатура
  2. В разделе «Компоновка» добавить переназначение ключа Windows на что-то другое
  3. Привязки клавиш ->добавить ->нажать клавишу Windows ->назначить действие

Испытано просветлением 22

0
04.03.2021, 06:22
2 ответа

По крайней мере, в моей системе Debian 10 справочная страница ssh_config(5)говорит:

Arguments to IdentityFile may use the tilde syntax to refer to user's home directory or the tokens described in the TOKENS section.

Итак, вместо использования $HOMEвы можете записать строку IdentityFileкак:

IdentityFile "~/.ssh/id_rsa"

или как:

IdentityFile "%d/.ssh/id_rsa"

Поддержка синтаксиса переменных среды(${HOME})упоминается только в элементе конфигурации IdentityAgent, а не в IdentityFile. Согласно примечаниям к выпуску OpenSSH , поддержка синтаксиса переменных среды была добавлена ​​к ключевым словам конфигурации CertificateFile, ControlPathи IdentityFileв OpenSSH версии 8.4 (, выпущенной в 2020 г. -09 -. 27 ), а Debian 10 имеет только версию 7.9 (с последними портированными исправлениями безопасности ).

Таким образом, на момент написания этой статьи, если вы не используете очень новый дистрибутив Linux, ваша версия OpenSSH может быть слишком старой для поддержки использования синтаксиса ${HOME}в файле конфигурации SSH.

3
18.03.2021, 22:27

Некоторые ключевые слова в конфигурационном файле ssh поддерживают переменные среды, но большинство — нет. К счастью, IndentyFile — один из них.

В файле нужно использовать ${HOME}, а не $HOME.

Вы также можете использовать tokens, например %d, для обращения к домашнему каталогу. Это задокументировано man ssh_config.

0
18.03.2021, 22:27

Теги

Похожие вопросы