Понадобилось мне настроить синхронизацию файлов с windows на linux сервер. В качестве сервера выступал ubuntu 16.04, хотя, наверное, это не влияет. На этом сервере давно стоит и работает настроенный samba. Я радостно добавил еще одну шару, рестартанул samba сервер. Samba заработал, и в расшаренных ресурсах появился новый ресурс, доступный только для чтения. Да, для подключения к новой шаре я создал нового пользователя, для удобства(просто забыл пароль от других пользователей) и чтобы не плодить еще групп, внес его в основную группу, у которой был доступ на чтения разных шар сервера. В этот раз я решил для синхронизации и бекапа использовать DeltaCopy.
Удобно использовать DeltaCopy! Это такая программка для админов, умеющих управлять мышкой. Там-сям щелкнул - и все готово. Но только не в этот раз. Первое, что выяснилось - что ssh клиент, идущий в комплекте с DeltaCopy, не умеет работать с каталогами, названными по-русски. А так как имя пользователя в Windows было на русском, то и домашняя директория(папка) содержит русские символы. А ssh клиент по умолчанию ищет директорию .ssh в домашней директории. Я не стал искать правильное решение, а просто создал еще одного пользователя на английском.
Дальше я решил настроить работу rsync over ssh. А ssh клиент должен был подключаться с помощью ключей. Вот только при авторизации с помощью ключей у меня и вышла загвоздка. С помощью пароля я мог зайти на сервер, а вот с помощью ключей нет. Я перепроверил все настройки ssh сервера, права доступа на .ssh и .ssh/authorized_keys - всё было в порядке. Думал, дело в сгенерированной паре открытого и закрытого ключей, перенес публичный ключ на другой подконтрольный сервер linux и на нем смог подключить по протоколу ssh c авторизацией по ключам.
Я еще минут десять тыкался туда-сюда. И потом всё-таки нашел проблему. Когда я создавал пользователя, я не указал, что основной группой у него будет группа, которой в samba разрешено чтение шар. И конечно, при создании пользователя автоматически создалась группа с именем, как имя пользователя. Создался пользователь, группа и домашняя папка пользователя с правильными правами. Только я добавил пользователя в группу samba и решил поменять у домашней папки группу. Вот из-за этого и возникала проблема с авторизацией по ключам ssh, хотя у .ssh и .ssh/authorized_keys были правильно выставлены права и владельцы.