Принятый ответ помог мне решить ту же проблему, используя plink.Вот еще немного подробностей, которые могут помочь людям в будущем:
Когда для запуска одной команды с использованием plink установлено соединение ssh, bash не вызывается как «интерактивная оболочка входа в систему», поэтомузапустите / etc / profile, ~ / .bash_profile, ~ / .bash_login или ~ / .profile (см. страницы руководства по bash).
Для моих целей мне понадобилось ~ / .profile для запуска докоманда передана в командной строке plink.
В этот файл можно добавить принудительную команду для файла ключа_документа (см. страницы справочника sshd).Принудительная команда (например, для запуска ~ / .profile) останавливает выполнение команды, указанной в plink, поэтому, чтобы заставить ее выполнять оба действия, принудительной командой должно быть выполнение сценария, который запускает .profile, а не исходную команду plink.Последний хранится в переменной среды $ SSH_ORIGINAL_COMMAND, поэтому ваш сценарий может выполнить
source .profile
$SSH_ORIGINAL_COMMAND
, и вы задаете сценарий в файле ~ / .ssh / authorized_keys следующим образом, перед ключом, в той же строке:
command="source forced_command.script" ssh-rsa A3AABzaC1yc...