Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: barakuda28 в Jul 21, 2012, 22:44



Титла: 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)