Bug 18183

Summary: Добавить поддержку kerberos5 в openssh
Product: Sisyphus Reporter: Evgeny Sinelnikov <sin>
Component: opensshAssignee: Gleb F-Malinovskiy <glebfm>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: boris, glebfm, iv, ldv, vt
Version: unstable   
Hardware: all   
OS: Linux   
URL: http://www.openssh.com/features.html
Bug Depends on:    
Bug Blocks: 17727    

Description Evgeny Sinelnikov 2008-12-10 22:39:03 MSK
Для прозрачной аутентификации в kerberos при работе ssh необходимо включить соответствующую поддержку в текущую сборку openssh. Необходимый минимальный набор изменений доступен у меня в git:
http://git.altlinux.org/people/sin/packages/openssh.git

Работоспособность пакета после пересборки с параметром '--with-kerberos5=/usr' проверена.
Comment 1 Dmitry V. Levin 2008-12-11 15:22:02 MSK
Надо изучить, что изменяется внутри openssh при включении этого параметра...
Comment 2 Evgeny Sinelnikov 2008-12-15 03:52:35 MSK
Привожу сравнение пакетов:

[sin@server openssh]$ ls /home/sin/hasher/repo/i586/RPMS.hasher/*openssh*5.1p1*
/home/sin/hasher/repo/i586/RPMS.hasher/openssh-5.1p1-alt2.1.i586.rpm
/home/sin/hasher/repo/i586/RPMS.hasher/openssh-askpass-common-5.1p1-alt2.1.noarch.rpm
/home/sin/hasher/repo/i586/RPMS.hasher/openssh-clients-5.1p1-alt2.1.i586.rpm
/home/sin/hasher/repo/i586/RPMS.hasher/openssh-keysign-5.1p1-alt2.1.i586.rpm
/home/sin/hasher/repo/i586/RPMS.hasher/openssh-server-5.1p1-alt2.1.i586.rpm

[sin@server openssh]$ ls /var/ftp/pub/ALTLinux/Sisyphus/{i586,noarch}/RPMS.classic/*openssh*5.1p1*
/var/ftp/pub/ALTLinux/Sisyphus/i586/RPMS.classic/openssh-5.1p1-alt2.i586.rpm
/var/ftp/pub/ALTLinux/Sisyphus/i586/RPMS.classic/openssh-clients-5.1p1-alt2.i586.rpm
/var/ftp/pub/ALTLinux/Sisyphus/i586/RPMS.classic/openssh-keysign-5.1p1-alt2.i586.rpm
/var/ftp/pub/ALTLinux/Sisyphus/i586/RPMS.classic/openssh-server-5.1p1-alt2.i586.rpm
/var/ftp/pub/ALTLinux/Sisyphus/noarch/RPMS.classic/openssh-askpass-common-5.1p1-alt2.noarch.rpm

[sin@server openssh]$ compare_packages -a -R -- /var/ftp/pub/ALTLinux/Sisyphus/{i586,noarch}/RPMS.classic/*openssh*5.1p1* -- /home/sin/hasher/repo/i586/RPMS.hasher/*openssh*5.1p1* | cat
--- /tmp/.private/sin/compare_packages.mc1b5u8PFX/1     2008-12-15 03:48:28 +0300
+++ /tmp/.private/sin/compare_packages.mc1b5u8PFX/2     2008-12-15 03:48:28 +0300
@@ -40,9 +40,12 @@
 libc.so.6(GLIBC_2.3.4)
 libc.so.6(GLIBC_2.4)
 libc.so.6(GLIBC_2.8)
+libcom_err.so.2
 libcrypt.so.1(GLIBC_2.0)
 libcrypto.so.7
 libedit.so.0
+libgssapi_krb5.so.2(gssapi_krb5_2_MIT)
+libkrb5.so.3(krb5_3_MIT)
 libpam(include)
 libpam.so.0(LIBPAM_1.0)
 libpam_userpass.so.1
@@ -51,8 +54,8 @@
 libutil.so.1(GLIBC_2.0)
 libwrap.so.0
 libz.so.1
-openssh = 5.1p1-alt2
-openssh-clients = 5.1p1-alt2
+openssh = 5.1p1-alt2.1
+openssh-clients = 5.1p1-alt2.1
 pam0(system-auth)
 pam0(system-auth-use_first_pass)
 rpmlib(CompressedFileNames) <= 3.0.4-1

Других формальных сравнений пока придумать не могу. Какие сравнения нужно провести?
Comment 3 Dmitry V. Levin 2008-12-15 03:54:22 MSK
(In reply to comment #2)
> Других формальных сравнений пока придумать не могу. Какие сравнения нужно
> провести?

Это мне нужно провести...
Comment 4 Evgeny Sinelnikov 2009-04-09 14:49:34 MSD
Эту сборку давно хотелось бы видеть в Сизифе... И в бранче 5.0 тоже хотелось бы видеть... Я объединил новый релиз openssh со своими правками в git.
Comment 5 Repository Robot 2009-04-12 03:53:05 MSD
openssh-5.2p1-alt2 -> sisyphus:

* Sun Apr 12 2009 Dmitry V. Levin <ldv@altlinux> 5.2p1-alt2

- Enabled kerberos support (Evgeny Sinelnikov; closes: #18183).
Comment 6 Evgeny Sinelnikov 2009-04-24 22:57:54 MSD
С пользователями, присутствующими в /etc/passwd прозрачная аутентификация работает. Но с сетевыми есть проблема:
[mastersin@valhalla ~]$ klist
Ticket cache: FILE:/tmp/krb5cc_503
Default principal: mastersin@SARATOV.ETERSOFT.RU

Valid starting     Expires            Service principal
04/24/09 22:42:30  04/25/09 08:43:17  krbtgt/SARATOV.ETERSOFT.RU@SARATOV.ETERSOFT.RU
        renew until 04/24/09 22:42:30
04/24/09 22:42:40  04/25/09 08:43:17  host/server.saratov.etersoft.ru@SARATOV.ETERSOFT.RU
        renew until 04/24/09 22:42:30
[mastersin@valhalla ~]$ ssh server
Connection closed by 192.168.33.1

[root@server ~]# tail  /var/log/messages
......
Apr 24 22:51:32 server sshd[11352]: Connection from 192.168.33.5 port 38963
Apr 24 22:51:33 server sshd[11352]: Failed none for mastersin from 192.168.33.5 port 38963 ssh2
Apr 24 22:51:33 server sshd[11355]: Postponed gssapi-with-mic for mastersin from 192.168.33.5 port 38963 ssh2
Apr 24 22:51:33 server sshd[11352]: Authorized to mastersin, krb5 principal mastersin@SARATOV.ETERSOFT.RU (krb5_kuserok)
Apr 24 22:51:33 server sshd[11352]: Failed gssapi-with-mic for mastersin from 192.168.33.5 port 38963 ssh2
Apr 24 22:51:33 server sshd[11355]: fatal: Access denied for user mastersin by PAM account configuration

В параметрах ssh_config клиента включено:
GSSAPIAuthentication yes

В параметрах sshd_config сервера включено:
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes

При подключении в DEBUG режиме можно увидеть, что проблема в вызове pam_acct_mgmt() из auth-pam.c: do_pam_account()

Но, видимо это тема отдельного бага...