Ivanovo Linux Users Group - Not logged in
Forum Help Search Login
Previous Next Up Topic Администрирование / Работа с сетью / Debian 5 SSH-key (21603 hits)
- By hawk Date 01.12.09 10:20 Edited 01.12.09 10:27
Только в предыдущей ветке про WiFi упомянули про ошибки в пакетах, как на те фашист гранату и где бы, в Debian Lenny. Видимо и на старуху бывает проруха, а может что сам кривлю.
---
Есть два сервера на убунде и на дебиане. На убунтовом сервере генерю ключи без пасса:
ssh-keygen -t dsa

полученный id_dsa.pub закидываю на сервер  в хоум .ssh/authorized_keys. в конфе sshd путь к этому конфу есть и все разрешения, права на дир 700 на файл 600, все по ману, для уверенности ребут сервера
/etc/init.d/ssh restart
Restarting OpenBSD Secure Shell server: sshd.

Пробую заходить, сразу запрос пароля. Поясню, если в конфе в параметрах
RSAAuthentication yes
PubkeyAuthentication yes

сервер должен хоть глянуть в директорию и ругнутся мол ключ не тот, а тут тишина сразу пароль и все.
----
Делаю Наоборот, т.е. генерю ключи на дебе, сую в убунту, и пробую с деба на убунту зайти по ключам - влетает только в путь, т.е. делаю все тоже самое и верно стало быть. А вот деб упрямый не видит ключа и все :-(.
С горя взял рабочий конф с убунты и ключи и перезаписал на деб их (ведь в убунте то работают) и тож самое, при коннекте даже слова нет что он зырит и ищет rsa.

(пробовал и на фряхе, везде работает, акромя деба :-( )

Плюнул бы, да скрипт пишу удаленного бекапа, он по ссш заходит, между серверами доверительные по ключам должны быть. Есть вариант с использованием:
$sshpass -p pass scp -r -P port dir/ user@192.168.10.222:/mnt/bac3

так тоже войдет, но вот пасс в открытом виде в скрпте - это очень плохая идея.
На эту тему вопрос знатокам, может есть возможность указания хеша пасса для sshpass ?
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent By hawk Date 01.12.09 11:11
На момент выхода Debian 5  вроде был общий трабл с SSH, заключийщийся в условной возможности подбора ключей. Вот думаю, что собрали пакет с выключенной этой возможностью работы.
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - By Bercut Date 01.12.09 12:51 Edited 01.12.09 12:55
ssh-add должны спасти отца русской демократии
кажися

а вабще ssh -vvvvvv четотам   в студию
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - By hawk Date 01.12.09 13:07
Да, дебаг уже на изусть знаю, ток я поломал уже и туда и обратно )))), сейчас хоть прояснится в одну сторону, будет дебаг.
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - By hawk Date 01.12.09 13:37 Edited 01.12.09 13:44
Вот любопытно:

debug1: ssh_rsa_verify: signature correct  - все корректно
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password - авторизация сначало пабликкей, потом пасс
debug1: Next authentication method: publickey - начинает паблик кей
debug1: Offering public key: /home/hawk/.ssh/authorized_keys  - зырит в файл он есть, права на файл 600, на дир .ssh 700. Вот в этом моменте задумывается, ни чего не выдает и шпарит уже на зassword
debug1: Authentications that can continue: publickey,password - следующий метод авторизации пароль
debug1: Next authentication method: password - метод пароль

ну и в консоли - введите пароль
---
со стороны сервера в логе:
Dec  1 16:40:19 host sshd[24005]: pam_unix(ssh:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=serv.local  user=hawk

ну а после ввода пароля уже пускает, по логу все нормально
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent By Bercut Date 01.12.09 15:09
да был такой баг
как ни странно лечился апгрейдом и дальнейшей перезагрузкой
при том что конкретно ssh не обновлялся мож либа какаято
тока было, это не спиз..врать бы, на сарге

так что погодь пару недель вылечат
или сам пересобери из исходников но в пакетах
так тоже вроде лечилось
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - By LOE (Site/forum admin) Date 01.12.09 19:03
Аккуратно запусти sshd через strace с выводом в файл.
Думается, появится повод поразмыслить.

PS. кстати, в authorized_keys ключ в одну строку (без переносов строк)?
PPS. Кстати! а почему authorized_keys? У меня используется authorized_keys2
$ strings `which sshd` | grep authorized
.ssh/authorized_keys2
.ssh/authorized_keys
authorizedkeysfile
authorizedkeysfile2
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By hawk Date 02.12.09 06:02
Да, в одну строку. Делал и authorized_keys2 ,думал что-то не понимаю уже, а authorized_keys - так указано в конфе sshd_config, по сути там можно что угодно прописать.
Запущу sshd в дебажном режиме, чтобы видеть не только дебаг вывод со стороны подключающейся, только тут одна свинья зарыта, трудно выключить ssh на сервере, у которого акромя ssh нет другого доступа. Буду думать.
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - By LOE (Site/forum admin) Date 02.12.09 07:10
Вешаешь еще один sshd с другим конфигом на другой порт.
Основной вход как обычно, дополнительный - с полным дебагом и через strace.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By hawk Date 02.12.09 07:56 Edited 02.12.09 07:58
На счет strace не понял, в остальном сервак запустил как
/usr/sbin/sshd -D -d

при коннекте:
debug1: PAM: initializing for "hawk"
debug1: PAM: setting PAM_RHOST to "s2r1.local" - в действительности hostname машины с которой подключаюсь s2r1
debug1: PAM: setting PAM_TTY to "ssh"
Failed none for hawk from 192.168.10.222 port 52119 ssh2
debug1: userauth-request for user hawk service ssh-connection method publickey
debug1: attempt 1 failures 1
debug1: test whether pkalg/pkblob are acceptable
debug1: temporarily_use_uid: 1000/1000 (e=0/0)
debug1: trying public key file /home/hawk/.ssh/authorized_keys
debug1: restore_uid: 0/0
debug1: temporarily_use_uid: 1000/1000 (e=0/0)
debug1: trying public key file /home/hawk/.ssh/authorized_keys2
debug1: restore_uid: 0/0
Failed publickey for hawk from 192.168.10.222 port 52119 ssh2 - Ошибка PublicKey

authorized_keys и authorized_keys2 - одинакового содержания, ключ rsa.pub сгенеренный на сервере и отправленный на машину с которой подключаюсь, ключ записан в одну строку.
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - By LOE (Site/forum admin) Date 02.12.09 08:15
Попробуй так:
strace -o sshd_log -ff /usr/sbin/sshd -D -ddd -p 12345

Поскольку у тебя еще и PAM используется, смотри, разрешено ли там, поскольку:

>> Failed none for hawk from 192.168.10.222 port 52119 ssh2


Попробуй еще сгенерить dsa ключи вместо rsa (ssh-keygen -t dsa).
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By hawk Date 02.12.09 10:01 Edited 02.12.09 10:13
Переставил SSHd с полной чисткой по зависимостям и конфигам, после одновления добавился blacklist.DSA-1024.
Генерирую новую пару ключей:
$ssh-keygen -t dsa

Закидываю ключ id_dsa.pub на машину, с которой буду конектиться:
$scp -P 1234 /home/hawk/.ssh/id_dsa.bub  hawk@192.168.10.211:

Пользователи на обеих машинах одинаковые, так к слову.
Теперь на второй машине полученный файл переименовываю в authorized_keys и тоже дублирую в authorized_keys2, права на файло 600, на папку .ssh 700
Пробую подключится   запрашивает пароль :-(
Права менял по всякому уже, ключи создавал по всякому.
PAM отключал и дефолтно пробовал.
Запускал сервер
strace -o sshd_log -ff /usr/sbin/sshd -D -ddd -p 12345

debug1: userauth-request for user hawk service ssh-connection method publickey
debug1: attempt 1 failures 1
debug2: input_userauth_request: try method publickey
debug1: test whether pkalg/pkblob are acceptable
debug3: mm_key_allowed entering
debug3: mm_request_send entering: type 21
debug3: monitor_read: checking request 21
debug3: mm_answer_keyallowed entering
debug3: mm_answer_keyallowed: key_from_blob: 0x800731c8
debug1: Checking blacklist file /etc/ssh/blacklist.DSA-1024
debug1: temporarily_use_uid: 1000/1000 (e=0/0)
debug1: trying public key file /home/hawk/.ssh/authorized_keys
debug1: restore_uid: 0/0
debug1: temporarily_use_uid: 1000/1000 (e=0/0)
debug1: trying public key file /home/hawk/.ssh/authorized_keys2
debug1: restore_uid: 0/0
Failed publickey for hawk from 192.168.10.211 port 38551 ssh2
debug3: mm_answer_keyallowed: key 0x800731c8 is disallowed
debug3: mm_request_send entering: type 22
debug3: mm_request_receive entering
debug3: mm_key_allowed: waiting for MONITOR_ANS_KEYALLOWED
debug3: mm_request_receive_expect entering: type 22
debug3: mm_request_receive entering
debug2: userauth_pubkey: authenticated 0 pkalg ssh-dss

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

И вот что еще, если файлы authorized_keys и authorized_keys2 содержат ключи, то при подключении сразу пароль, а если к примеру пустые, то вылезают строки что типа подключаемся по ключам и введи пароль ключа :-))), хотя в действительности файлы пусты - 0 байт. Вот так пишет с нулевыми файлами:
$ ssh -p 7822 IP
Enter passphrase for key '/home/hawk/.ssh/authorized_keys':
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - By LOE (Site/forum admin) Date 02.12.09 11:43
То, что здесь приведено, это вся отладка от sshd?! У меня набегает несколько десятков строк debug информации.
Т.е. зайди на сервер, запусти /usr/sbin/sshd -D -ddd -p 12345, пробуй коннектится с клиентской машины на порт 12345 и приаттач сюда получившийся вывод (вытри из него сами ключи).
После запуска через strace так-же должны быть файлы с трейсами - посмотри в них.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By hawk Date 02.12.09 12:11 Edited 02.12.09 12:19
LOE - Спасибо!
Вход по ключам с Ubuntu на Debian настроил, с Debian на Ubuntu - так и не удалось победить (действия один в один), но в моём случае, нужно по ключам входить со всех nix серверов именно на сервер бекапа Debian. Один сервер уже входит, осталось еще штуки 3 ))))) FreeBSD.
Проделал маленько по другому, но так правильнее, при переносе паблик ключа использовал команду:
ssh-copy-id -i ~/.ssh/id_rsa hawk@192.168.10.211

т.е. делается все по теории двумя командами, генерим ключ, и ssh-copy-id закидываем его, он уже будет переименован и положен в нужную папку с нужными правами, в отличии от использования scp.
-
Единственное не понял ssh-copy-id помоему только со стандартным портом 22 работает, пришлось поменять, после обратно.
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent By G0thic Date 17.12.09 16:32
ssh-copy-id это обыкновенный скрипт. посмотри его для пользы дела.
там порт можно поправить, если уж хочешь все по теории делать :-)
Когда кругозор человека сужается к минимуму, он называет это своей точкой зрения.
Previous Next Up Topic Администрирование / Работа с сетью / Debian 5 SSH-key (21603 hits)

Powered by mwForum 2.12.0 © 1999-2007 Markus Wichitill

Page created in 0.099s with 11 database queries.