Доступ к ключу SSH не будет работать после работы с Samba на сервере

Я провел некоторое время, заходя на сервер (Debian), пытаясь получить Samba, чтобы лучше работать с моего Mac.

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

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

Что я мог сделать, чтобы сломать вход с ключом только для моего имени пользователя и почему?

Я возился с созданием пароля Samba для своего имени пользователя, а также сделал свою домашнюю папку 777, чтобы попытаться получить доступ для записи, работающий из Samba. (Это НЕ был рекурсивный chmod, поэтому папки ниже не 777.)


person giorgio    schedule 26.02.2012    source источник


Ответы (3)


Ваш домашний каталог никогда не должен быть ugo+rwx (777). Вы не должны позволять другим пользователям писать в ваш домашний каталог. Демон ssh проверяет права доступа к файловой системе и отказывается использовать содержимое ~/.ssh/, если он или его родитель (~/) доступны для записи другим пользователям.

См. http://www.openssh.org/faq.html вопрос № 3.14.

Также смотрите 'man sshd_config' и StrictModes (не выключайте).

Надеюсь это поможет.

person Luca Filipozzi    schedule 26.02.2012
comment
Похоже, это разрешения на родителя (т.е. проблема в моей домашней папке на сервере). Я думаю, я был отчаянно разочарован тем, что самба всегда выдает ошибки разрешения! - person giorgio; 27.02.2012

Вы можете включить ведение журнала в конфигурации sshd, если это еще не сделано. Это точно скажет вам, что пошло не так. Часто возникает проблема с правами доступа к файлам в ~/.ssh.

Файл журнала обычно находится либо в /var/log/secure, либо в /var/log/auth.log.

person Greg    schedule 26.02.2012
comment
Я проверю это более тщательно. Но обычно я думал, что это просто разрешения на конце закрытого ключа, а не на конце открытого ключа? - person giorgio; 27.02.2012
comment
Предоставление другим возможности записи в ваш файл author_keys (например) позволит им войти в систему как вы. SSH не позволит вам войти с помощью ключа, если другие могут писать в вашу папку .ssh. - person Greg; 27.02.2012

Есть еще одна возможность, которую не вызвал ни один из предыдущих ответов: SELinux. Если это активно, это предотвратит доступ к папке .ssh через общий ресурс Samba.

Это легко проверить: временно отключите SELinux ("setenforce 0") и посмотрите, есть ли доступ к папке .ssh.

person Eamonn McGonigle    schedule 20.05.2015