to post messages and comments.

> I just deleted SSHv1 support in OpenBSD and portable OpenSSH. There's
> probably a little dead code still to be expunged, but all user-visible
> functionality and the bulk of the supporting infrastructure is gone.
>
> Sic transit gloria mundi.

Quamvis ejus problems, est etiam a magnus lenimentus super eam telnet.

Ut cum multa — linguam latinam, exempli gratia — pugnatum est multo longior quam exspectavimus.
Ni esperas, ke la dua provo renkontas pli bonan finon.

Обновление OpenSSH 7.2p2 с устранением уязвимости в режиме X11Forwarding
opennet.ru
Доступно обновление OpenSSH 7.1p2, в котором устранена уязвимость в sshd, проявляющаяся при включении режима X11Forwarding. Уязвимость позволяет аутентифицированному пользователю, имеющему возможность активировать проброс протокола X11, осуществить подстановку произвольных команд xauth.

--- openssh-7.1p1/readconf.c 2015-10-27 02:35:24.382086863 +0300
+++ openssh-7.1p1/readconf.c 2015-10-27 02:35:49.376192862 +0300
@@ -1542,9 +1542,6 @@

if (fstat(fileno(f), &sb) == -1)
fatal("fstat %s: %s", filename, strerror(errno));
— if (((sb.st_uid != 0 && sb.st_uid != getuid()) ||
— (sb.st_mode & 022) != 0))
— fatal("Bad owner or permissions on %s", filename);
}

debug("Reading configuration data %.200s", filename);

Что у вас изображено на рэндомарте? У меня слон выглядывает:
+--[ECDSA 256]---+
|.*+ |
|B+.o |
|O+o.o . |
|.=o... o |
|E oo.. S |
| . o. . |
| . |
| |
| |
+-----------------+
Солнечная панель:
+--[ECDSA 256]---+
| . . .o+ |
| . . o o *. |
| . . o o o . |
| o o . o + |
| . . . S o o |
| ... |
| ..o |
| .o o |
| .o .E|
+-----------------+
И меха:
+--[ECDSA 256]---+
| .E |
| . o.. |
| . + .... |
|.o. o .o . |
|. o. . S . |
| .. . . |
| . o . . |
| o . + o |
|.o+. o...o |
+-----------------+

«Говорят, у них закончились деньги, чтобы отапливать электричеством все сервера всех архитектур, какие стоят в конуре у Тео. Просят денег на обогрев.
Не, я бы подкинул, если бы они выкинули всё не нужное, не страдали бы фигнёй, а тихо пилили бы OpenSSH и всё».

Ненавижу такие снисходительные посты, я бы им заплатил, если бы они… Тебе они ничего не должны, мудила.

Для openssh примерно с версии 5.3 существует отличный патч, позволяющий читать публичные ключи не из authorized_keys, а получать их выполнением команды после авторизации юзера. Увы, патч неполноценен, так-как флаги с configure не помогают, но для 5.9 удалось собрать следующим образом:

tar zxf openssh-5.9p1.tar.gz
patch -p0 < openssh-5.9p1-2auth.patch
patch -p0 < openssh-5.9p1-akc.patch
cd openssh-5.9p1
./configure --with-pam --with-ssl-engine
sed -i 's/DHAVE_CONFIG_H/DHAVE_CONFIG_H -DWITH_AUTHORIZED_KEYS_COMMAND/' Makefile
make
sed -i '#AuthorizedKeysCommand/AuthorizedKeysCommand/g' sshd_config

Протестировать корректность сборки с нужным нам функционалом можно посредством:

strings sshd | grep KeysCommand
./sshd -T -f sshd_config

Патчи openssh-5.9p1-2auth.patch и openssh-5.9p1-akc.patch забирались из git репозитория проекта ipfire (http://git.ipfire.org/?p=ipfire-3.x.git;a=tree;f=openssh/patches;h=a89d7698bab86857f09703adeabe6a13958decbc;hb=HEAD), openssh обычный ванильный из openssh.linux-mirror.org

Вчера пол вечера курил openssh, который упорно не хотел биндить порт на нужном адресе при вызове -R 192.168.0.12:12345:192.168.0.1:80. Не мог понять почему он всё время биндился на 127.0.0.1:12345 вместо 192.168.0.12:12345. В результате, после того как прокачал себе скилл работы с gdb и отладки форкающихся процессов, обнаружил что в функции channels.c:channel_setup_fwd_listener проверяется значение поля gateway_port структуры хранящей настройки sshd. Собственно чтобы найти GatewayPorts в sshd_config достаточно было внимательно произвести RTFM с поиском по loopback. Вот такой вот я ССЗБ.