Логирование по ssh как на github

Тема в разделе "Администрирование серверов", создана пользователем slik_jay, 10 авг 2011.

Модераторы: mefish, stooper
  1. slik_jay

    slik_jay ^_^

    Регистр.:
    24 май 2008
    Сообщения:
    50
    Симпатии:
    27
    Навено многие пользовались хостингом репозиториев github. Как известно git работает через ssh, а github упрощает ето дело. Если кому не известно как это работает, кратко опишу:
    • Есть зарегистрированные пользователи сайта, назовем их аккаунтами.
    • Есть один единственный юзер на сервере - `git`
    • Логин идет исключительно по ключам
    • К каждому аккаунту может быть привязано несколько ключей, по каждому из которых он может залогинится
    • Поскольку в системе только один юзер, то права разделяются иным способом
    • Каждый из аккаунтом может иметь несколько репозиториев, к которым доступится может только он
    • Каждый аккаунт может дать другому аккаунту право на запись в свой репозиторий
    Вообще почти все тут реализовать не сложно, скрипты, хуки, да и только.
    Адрес репозиториев там такого вида git@github.com:slik_jay/sample.git
    С него видно, что ето самый обычный адрес для коннекта по ssh
    Можно было бы предположить, что из этого адреса достается юзернейм(аккаунт), но это не так, потому что подмена не действует.
    Меня интересует вот что: как етим скриптам/хукам узнать какой аккаунт пытается доступится до репозитория, если все это идет исключительно через ОДНОГО юзера `git` ?
     
  2. Рачей

    Рачей

    Регистр.:
    10 фев 2009
    Сообщения:
    193
    Симпатии:
    6
    вот и ответ
     
  3. slik_jay

    slik_jay ^_^

    Регистр.:
    24 май 2008
    Сообщения:
    50
    Симпатии:
    27
    Вы наверно не дочитали до конца.
     
  4. Рачей

    Рачей

    Регистр.:
    10 фев 2009
    Сообщения:
    193
    Симпатии:
    6
    ну так может быть тут покопаться?
     
  5. slik_jay

    slik_jay ^_^

    Регистр.:
    24 май 2008
    Сообщения:
    50
    Симпатии:
    27