Я создал там файл ~ / .ssh / environment и поместил:
LEVEL=0
Когда я запускаю сценарий через ssh, чтобы получить уровень переменной среды, он возвращает 0, как и должно.
В файле authorized_keys у меня есть несколько ключей, и я пытаюсь изменить значение на некоторых, поэтому, когда я запускаю сценарий на другой стороне, он может изменить способ обработки информации. Перед обычным ключом я добавляю следующее:
command="/path/to/script" environment="LEVEL=1"
Если у меня нет сегмента среды, сценарий выполняется нормально, но если у меня установлена часть среды, сценарий не запускается.
Я не совсем уверен, что делаю не так. Я вообще к этому правильно подхожу?
по сути, у меня есть 4 разных ключа, и в некоторых случаях я хочу, чтобы у людей был уровень 1 или 2 со значением по умолчанию 0, но я хочу установить, у кого есть уровень, и установить его только тогда, когда они вошли в систему для выполнения своей команды.
Я думаю, что едва понимаю, как это должно работать, поэтому мое понимание того, как это должно работать, может быть совершенно неверным.
Любые идеи?
Попробуй это:
command="export LEVEL=1; /path/to/script"
Есть вариант PermitUserEnvironment в файле конфигурации / и т.д. / SSH / sshd_config имеет значение по умолчанию нет
Итак, чтобы включить обработку файла ~/.ssh/environment
или / и environment=
варианты в ~/.ssh/authorized_keys
установить указанную выше переменную в да
Сначала предполагаю, что ваш синтаксис немного неправильный.
Я никогда раньше не использовал аргумент «среда», но, поскольку раньше мне приходилось писать собственные записи authorized_keys, я считаю, что необязательные аргументы в начале записи authorized_keys требуют запятых между каждым аргументом, а не пробелов.
Пытаться:
command="path/to/script",environment="LEVEL=1" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArestofkeyhere comment_stuff
Надеюсь это поможет.