LINUX.ORG.RU
решено ФорумAdmin

Дикие, дикие странности!

 , , ,


1

1

Чуваки, вы не поверите что у меня случилось!
Внезапно сломалась на FreeBSD 9.0 авторизация по паролю в sshd. База пользователей - в LDAP, локально ldap-пользователь спокойно входит с паролем, удаленно но по ключу - тоже спокойно входит. А вот удаленный вход с паролем не получается, при этом SSHD не говорит ничего кроме:

Failed password for user from ip port 100500 ssh2
Getent работает корректно, данные о пользователях из LDAP тянутся без каких-либо проблем. Что перед этим делал - ставил php-pdo_pgsql, изменялись в /var/db/pkg вот эти пакеты:
Feb 28 15:01:21 2013 php52-pdo_pgsql-5.2.17_11
Feb 28 15:00:08 2013 gettext-0.18.1.1
Feb 28 15:00:08 2013 php52-5.2.17_9
Feb 28 15:00:08 2013 php52-pdo-5.2.17_9
Feb 28 15:00:08 2013 postgresql-client-9.0.8
Feb 28 15:00:08 2013 libiconv-1.14
Feb 28 15:00:08 2013 libxml2-2.7.8_3
Никакой связи с авторизацией по SSH не вижу, потому не уверен что сломалось именно поэтому. Конфиги
- /etc/nsswitch.conf
group: files ldap
group_compat: nis
hosts: files dns
networks: files
passwd: files ldap
passwd_compat: nis
shells: files
services: compat
services_compat: nis
protocols: files
rpc: files

- /etc/ssh/sshd_config почти дефолтный, не закомментировано всего 3 строчки:

ClientAliveInterval 2400
UseDNS no
Subsystem	sftp	/usr/libexec/sftp-server

- /usr/local/etc/nss_ldap.conf

host localhost
uri ldapi://%2fvar%2frun%2fopenldap%2fldapi/
base dc=server2,dc=root
ldap_version 3
binddn cn=admin,dc=root
bindpw ololopwd
scope one
timelimit 30
bind_timelimit 10
bind_policy soft
nss_connect_policy persist
nss_paged_results yes
pagesize 3000

# system users 
nss_base_group ou=groups,dc=server2,dc=root?one
nss_base_passwd ou=users,dc=server2,dc=root?one
nss_base_shadow ou=users,dc=server2,dc=root?one

- /usr/local/etc/ldap.conf

uri ldapi://%2fvar%2frun%2fopenldap%2fldapi/
ldap_version 3
bind_timelimit 30
bind_policy soft
idle_timelimit 3600
pam_filter objectclass=posixAccount
pam_login_attribute uid
pam_min_uid 500
pam_max_uid 65530
pam_password SSHA

# system users 
nss_base_group ou=groups,dc=server2,dc=root?one
nss_base_passwd ou=users,dc=server2,dc=root?one
nss_base_shadow ou=users,dc=server2,dc=root?one

- /etc/pam.d/sshd

auth		sufficient	pam_opie.so		      no_warn no_fake_prompts
auth		requisite	pam_opieaccess.so	      no_warn allow_local
auth            sufficient      /usr/local/lib/pam_ldap.so    no_warn
auth		required	pam_unix.so		      no_warn try_first_pass

account		required	pam_nologin.so
account		required	pam_login_access.so
account         sufficient      /usr/local/lib/pam_ldap.so
account		required	pam_unix.so

session		required	pam_permit.so
password        sufficient      /usr/local/lib/pam_ldap.so    no_warn

password	required	pam_unix.so		      no_warn try_first_pass

- /etc/pam.d/system (системный вход, напоминаю - работает)

auth		sufficient	pam_opie.so		   no_warn no_fake_prompts
auth		requisite	pam_opieaccess.so	   no_warn allow_local
auth            sufficient      /usr/local/lib/pam_ldap.so
auth		required	pam_unix.so		   no_warn try_first_pass nullok
account		required	pam_login_access.so
account         sufficient      /usr/local/lib/pam_ldap.so
account		required	pam_unix.so
session		required	pam_lastlog.so		    no_fail
password        sufficient      /usr/local/lib/pam_ldap.so
password	required	pam_unix.so		no_warn try_first_pass

Даже не знаю приблизительного направления куда ковырять. И не уверен что сломалось из-за пересборки вышеуказанных пакетов. Более пакетов в системе не менялось до того момента пока все еще работало. Оракулы BSD, и волшебники PAM, обратите внимание на мою проблему плз.

★★★★★

А ты точно freebsd-update fetch install не делал? Иначе колдунство какое-то получается...

IPR ★★★★★
()
Ответ на: комментарий от IPR

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

Komintern ★★★★★
() автор топика

Включаешь логи slapd и смотришь на разницу запросов между системным входом / ssh

zgen ★★★★★
()

Абсолютный бред думать, что установка php-pdo_pgsql может как-то повлиять на работу системного входа.

=>

Делалось что-то, о чем вы забыли или что-то, что вы считаете несущественным.

zgen ★★★★★
()
Ответ на: комментарий от zgen

в нем при loglevel 256 ооочень много всего (оттуда apache еще свои настройки берет), но смотрю что запросы одинаковые:

Feb 28 21:37:17 s28 slapd[64360]: conn=1040 op=1 SRCH base="ou=users,dc=server2,dc=root" scope=1 deref=0 filter="(&(objectClass=posixAccount)(uid=komintern))"

как я подозреваю (либастрал, или что-то вроде), что проблема в шифровании пароля. я не сильный в этой области спец, но gettext может иметь какое-то отношение к шифрованию или кодировкам, что может приводить к тому что пароль сверяется неправильно при авторизации по ssh.

Komintern ★★★★★
() автор топика
Последнее исправление: Komintern (всего исправлений: 1)
Ответ на: комментарий от IPR

нет, он по-другому работает. я бы тогда на порт не смог соединиться.

Komintern ★★★★★
() автор топика
Последнее исправление: Komintern (всего исправлений: 1)
Ответ на: комментарий от Komintern

А может ты поменял что-нибудь в /etc/auth.conf (кстати, в 9.1 исчезло) или /etc/login.conf Тут чудес не бывает, из-за пакетов не может такого быть.

IPR ★★★★★
()
Ответ на: комментарий от IPR

auth.conf пустой, точнее в нем одни коменты.

# ls -laTt /etc/login.conf
-rw-r--r--  1 root  wheel  6740 Jan  3 09:57:38 2012 /etc/login.conf
а работать перестало сегодня =( и вообще, чудес может и не бывает, но у меня только что самопроизвольно исчезли русская и украинская раскладки. добавил заново.

Komintern ★★★★★
() автор топика
Последнее исправление: Komintern (всего исправлений: 1)
Ответ на: комментарий от zgen

с этим все в порядке, локально же пользователь с паролем входит. и удаленно пользователь по ключу входит. остается один лишь вариант - что при удаленном входе введенный пароль каким-то образом не совпадает с тем, что возвращает LDAP.

Komintern ★★★★★
() автор топика
Ответ на: комментарий от Komintern

с этим все в порядке, локально же пользователь с паролем входит.

1. Если вы так будете отвечать...
2. У вас случаем дубликата пользователя с аналогичным именем нет?

zgen ★★★★★
()
Ответ на: комментарий от zgen

дубликата нет, проверил в первую очередь. ldap.secret - это куда смотреть? пароль для лдапа у меня прописан в nss_ldap.conf

права

-rw-r-----  1 root  support  709 Nov  5 18:33 /usr/local/etc/nss_ldap.conf
на ldap.conf такие же. группы:
uid=503(komintern) gid=503(komintern) groups=503(komintern),666(support),0(wheel)

Komintern ★★★★★
() автор топика

проблема решилась до глупости просто. в sshd_config добавил:

UsePAM yes

Но главное что до этого опция была закомментирована и все прекрасно работало.

Komintern ★★★★★
() автор топика
Ответ на: комментарий от Komintern

Молодец! Спасибо за мануал. Я следил за темой. Буду если чего сам может подобное теперь запиливать, когда по ключам надоест ходить. :)

DALDON ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.