Рейтинг:3

Почему исполняемый скрипт ведет себя иначе, чем когда его команды запускаются вручную?

флаг tr

Я пытаюсь добавить закрытый ключ в свой файл sshagent. Выполнение команд

$ eval "$(ssh-агент -s)"
$ ssh-добавить ~/.ssh/id_rsa_personal

отлично справляется со своей задачей, поэтому, когда я запускаю SSH-добавить -л, вижу ключ добавлен. Это также имеет место даже без запуска оценка команда вообще (что, возможно, вызывает вопрос, зачем мне ее запускать). Однако, если я вместо этого создам исполняемый файл add_key.sh (используя шебанг и чмод + х) и добавьте в него именно эти команды, а затем запустите его, SSH-добавить -л не показывает ключ и вместо этого показывает «Агент не имеет личности».

Если я закомментирую оценка команду в сценарии и запустите ее, проблем нет, и она корректно добавит ключ к агенту. Что такого в моем сценарии, что вызывает ssh-добавить чтобы не добавить ключ, и почему это не проблема, если я закомментирую оценка команду из скрипта или просто запускать команды вручную?

waltinator avatar
флаг it
Попробуйте `echo "$(ssh-agent -s)";echo $SHELL`. Очищаете ли вы свое ключевое пространство перед тестированием?
Рейтинг:5
флаг hr

ssh-агент -s начинает новый агент; когда ты оценка его вывод, вы меняете среду оболочки так, чтобы следующее ssh-добавить добавляет личность к что агент.

Если вы сделаете это в сценарии, то при возврате в родительскую среду новые значения SSH_AUTH_SOCK / SSH_AGENT_PID потеряны, поэтому (хотя новый агент все еще работает), SSH-добавить -л не могу подключиться к нему.

Когда вы просто бежите ssh-агент -s без оценка, он запускает новый агент, но просто выводит новую среду на стандартный вывод, поэтому ssh-добавить добавляет новое удостоверение любому агенту, который уже работал в родительской среде.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.