Назад | Перейти на главную страницу

Ошибка vshadow.exe в Cygwin, но только через ssh с аутентификацией pubkey

Я хотел бы создать теневую копию тома (vshadow 2.2) из ​​Cygwin через ssh:

$ ./vshadow.exe -p -nw C:
(...)
- Setting the VSS context to: 0x00000019
Creating shadow set {a5e0883e-9485-4243-8276-1ac7c569ab6a} ...
- Adding volume \\?\Volume{218a908d-1e3f-11df-a215-806e6f6e6963}\ [C:\] to the shadow set...
Creating the shadow (DoSnapshotSet) ...

ERROR: COM call "m_pVssObject->DoSnapshotSet(&pAsync)" failed.
- Returned HRESULT = 0x80070005
- Error text: Access is denied.

Я думаю, это потому, что локальный пользователь Windows cyg_server что Cygwin работает как не имеет какого-либо разрешения.

Вещи, которые я пробовал:

  1. расширенные параметры на вкладке безопасности, когда я щелкаю правой кнопкой мыши C: на моем компьютере, но я не вижу ничего, что могло бы быть актуальным
  2. Он говорит, что нужно перезапустить /tracing. Я не вижу много полезного в точке отказа
  3. Я пошел в каталог в Windows, где я создаю открытую точку монтирования, и дал cyg_server Полный контроль. Без изменений.
  4. создал ключ VSSAccessControl, как описано Вот. Без изменений.
  5. сделали cyg_server член Администраторов домена. Без изменений.
  6. vshadow без -nw switch, а вместо этого получил:

    $ ./vshadow.exe -p C: (...)

    • Установка контекста VSS на: 0x00000009 (Сбор метаданных модуля записи ...) (Ожидание завершения асинхронной операции ...) Ошибка во время последней асинхронной операции.
    • Возвращено HRESULT = 0x80042318
    • Текст ошибки: VSS_E_WRITER_INFRASTRUCTURE

Как я могу сделать снимок по ssh с аутентификацией с открытым ключом?

Обновить: Я нашел эта ветка с 2007 года упомянув, что вы не можете, если используете аутентификацию с открытым ключом. Я убедился, что если я переименую свой файл id_rsa и использую пароль для входа в систему, он будет работать (с или без -nw switch.) Но мне нужно использовать pubkey auth, чтобы создать сценарий резервного копирования. Автор не упоминает, почему это было так, но я думаю, что это не исправлялось за последние шесть лет ... есть ли обходной путь?

Можете ли вы выполнить обычное копирование / подключение с помощью открытого ключа?

Вы также можете проверить ветку на сайте резервного копирования, где один пользователь опубликовал то, что он настроил с помощью Windows 2003, а также сценарии, которые он использовал.

Использование cygwin, открытого ключа и rsync для резервного копирования Windows 2003

Суть в использовании at команда для запуска чего-то как NT AUTHORITY\SYSTEM потому что вход в систему с открытым ключом вместо пароля по какой-то причине заставляет вас работать как другой пользователь под Cygwin. Цитата:

# Launches passed input via 'at' to get around $USERNAME=SYSTEM
# problem under ssh login where the shell lacks permsisions to run
# commmands like vshadow or dosdev
# from a script by Jeffrey J. Kosowsky
function at_launch ()
{
local h m s wait1 command
if [ $3 != "" ] ; then
command="${1} ${2} >> ${3}"
else
command="${1} ${2}"
fi

set -- $(date +"%H %M %S")
h=$((10#$1)) #Note explicitly use base 10 so that 08 and 09 not interpreted as bad octal
m=$((10#$2 +1)) #Advance minutes by 1
s=$((10#$3))
wait1=$((60 - $s))
[ $s -gt 55 ] && let "m += 1" "wait1 += 60" # Make sure >5 seconds left
[ $m -ge 60 ] && let "m %= 60" "h += 1" #Overflow minutes
let "h %= 24"
at $h:$m $(cygpath -w $(which bash.exe)) -c "$command"
# > /dev/null

echo Running '$command' at $h:$m
return $wait1
}