Титла: SSH автентикация чрез key (putty) Публикувано от: barakuda28 в Jul 21, 2012, 22:44 Намерих няколко туториала по темата, но при всички се използва случайно генериран key и програмчето Pageant. Решението не ми се струва удобно понеже при всяко логване трябва да включвам програмата и да вкарвам key-я и паролата. Както и да е.
Виждал съм и друго решение, при което вкарваш private key-я и auto-login username-а в putty и грам не те пита за нищо повече. Не намерих в нета информация как да постигна това. Откъде взимам key-овете (едва ли са случайни)? Като цяло как се прави от страна на сървъра? От страна на клиента съм го правил и са ми нужни само username и key-я. Още нещо ми е интересно - при решението с Pageant, сървъра получава user, key и парола за key-я, но откъде знае този key дали е за посочения user? Титла: Re: SSH автентикация чрез key (putty) Публикувано от: barakuda28 в Jul 21, 2012, 22:57 Май го измислих - просто при създаването на ключа не му се задава парола. И все пак как сървъра прави връзката ключ-потребител?
Титла: Re: SSH автентикация чрез key (putty) Публикувано от: n00b в Jul 21, 2012, 23:08 Използва се ssh-keygen и се генерира уникална комбинация публичен и частен ключ.
После публичния се вкарва в сървъра, а частния в твоя компютър. При свързване се задава да се използва частния ключ. Сървъра проверява дали двойката е валидна и ти дава достъп. Общо взето упражнение за 5 минути. С каква дистрибуция си? Титла: Re: SSH автентикация чрез key (putty) Публикувано от: n00b в Jul 21, 2012, 23:09 Ето ти и писание по темата:
http://www.debuntu.org/ssh-key-based-authentication А тук е от страна на клиента: http://www.cyberciti.biz/faq/force-ssh-client-to-use-given-private-key-identity-file/ Титла: Re: SSH автентикация чрез key (putty) Публикувано от: barakuda28 в Jul 21, 2012, 23:56 Ок, започвам отначало.
С Debian съм. Генерирам DSA ключове с puttygen, защото тези от Debian-а putty-то не ги харесва. Генерирам ги без парола (защото не ми се занимава с Pageant). Публичния го вкарах в .ssh/authorized_keys, а личния в putty. При опит за отваряне на ssh връзка получавам шамар с "Server refused our key". Титла: Re: SSH автентикация чрез key (putty) Публикувано от: n00b в Jul 22, 2012, 00:14 ТОЧНО тези ключове от Debian трябва да използваш!!!
За конверсията от Debian -> Putty използвай PuttyGen. Защото putty има някакъв собствен формат и не му харесват openssh ключовете. Титла: Re: SSH автентикация чрез key (putty) Публикувано от: barakuda28 в Jul 22, 2012, 00:29 Същата грешка ми дава.
В authorized_keys ключа е на 1 ред. Настройките в /etc/ssh/sshd_config са (тези, които бутах): Protocol 2 RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h.... (разкоментирах реда) PasswordAuthentication yes UsePAM yes Да не би нещо да съм скапал при тях? Като се замисля, генерирам ключа с DSA, но не задавам парола. Настройката "RSAAuthentication yes" коректно ли е да я оставя така? Титла: Re: SSH автентикация чрез key (putty) Публикувано от: n00b в Jul 22, 2012, 00:42 я виж в логовете какво казва ssh по въпроса?
Титла: Re: SSH автентикация чрез key (putty) Публикувано от: barakuda28 в Jul 22, 2012, 01:08 Не съм убеден, че вадя инфо от правилния лог (/var/log/auth.log):
Jul 22 01:05:48 debian sshd[9687]: Accepted password for root from 192.168.1.100 port 64543 ssh2 Jul 22 01:05:48 debian sshd[9687]: pam_unix(sshd:session): session opened for user root by (uid=0) Не пише нищо за отхвърлянето на ключа. Титла: Re: SSH автентикация чрез key (putty) Публикувано от: dejuren в Jul 22, 2012, 05:53 Тъй... я да видим тези матреали помагат ли:
http://www.electrictoolbox.com/PuTTY-rsa-dsa-keys/ http://www.linux-sxs.org/networking/openssh.putty.html Всичко е в духа на описанието от n00b Логът ти е верен, но частта от него не. Това е потвърждение за успешно свързване с парола. Пусни и лог на PuTTY (май имаше такова нещо), усили му приказливостта и гледай също и там. Май го измислих - просто при създаването на ключа не му се задава парола. И все пак как сървъра прави връзката ключ-потребител?Тук искам да се вмъкна с малко разсъждения. "Връзката ключ-потребител" се прави като потребителя си напише пас-фразата за ключа. Да вземем твоя ключ без пас-фраза. Ако той бъде загубен (ти си измисли сценарии как някой ти открадва ключа) не може да си сигурен че няма да бъде използван срещу сървърите, на които е копирана публичната част. Естестено ако си администратор на localhost може да отминеш предупреждението, но все пак те съетвам да си създаваш добри навици на работа. Титла: Re: SSH автентикация чрез key (putty) Публикувано от: barakuda28 в Jul 22, 2012, 12:19 Да, наясно съм с риска, но хоствам домашен сървър, така че не смятам, че е проблем в случая, на фона на удобството.
Получи се. Понеже ръчно вкарвах публичния ключ в authorized_keys (с vi) явно нещо не съм го вкарвал като хората, макар че не мога да си го обясня все още. В крайна сметка го вкарах с "cat <key> > .ssh/authorized_keys" и заспа :) Мерси много на всички! Титла: Re: SSH автентикация чрез key (putty) Публикувано от: n00b в Jul 22, 2012, 15:43 Честито. Сега вече за 5 минути можеш да направиш цялото това упражнение.
[_]3 [_]3 [_]3 Титла: Re: SSH автентикация чрез key (putty) Публикувано от: dejuren в Jul 22, 2012, 16:13 Получи се. Понеже ръчно вкарвах публичния ключ в authorized_keys (с vi) явно нещо не съм го вкарвал като хората, макар че не мога да си го обясня все още. В крайна сметка го вкарах с "cat <key> > .ssh/authorized_keys" и заспа :)Достатъчно е да цъкнеш един "ентер" във виндовс машина докато редактираш файла и не може да си сигурен в резултата. (^A ^D) |