За последние 24 часа нас посетили 18785 программистов и 1593 робота. Сейчас ищут 1145 программистов ...

git и аутентификация

Тема в разделе "Версионность, тестирование и развёртывание", создана пользователем Padaboo, 30 мар 2016.

  1. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Посоны, а есть короткий вариант ?
    Я sh пишу
    Код (PHP):
    1. sshpass -'pass' ssh git@192.168.0.102
    2. cd /srv/http/
    3. rm -R bnk
    4. echo "yes"
    5. echo "yes"
    6. git clone git@192.168.0.102:/home/git/bnk.git
    7. echo "pass" 
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.105
    Симпатии:
    1.243
    Адрес:
    там-сям
    Цель какая, не вводить руками пароль при обращении к серверу с git? Авторизация по ключу удобнее пароля во всех отношениях. Я так понимаю, 192.168.0.102 в твоей локальной сети и ты можешь настроить на нём вход по ключу.

    Явное указание ключа в строке с git: http://stackoverflow.com/a/4565746/272885

    Но можно проще: оформи локальный ~/.ssh/config чтобы автоматом предъявлять нужный ключ. Если к одному серверу надо разными пользователями+ключами обращаться, можно завести несколько имен в config.
    config:
    Код (PHP):
    1. Host ololo
    2.     User git
    3.     Hostname 192.168.0.102
    4.     IdentityFile ~/.ssh/git_ololo
    5.  
    6. Host pyshpysh
    7.     User git
    8.     Hostname 192.168.0.102
    9.     IdentityFile ~/.ssh/git_pyshpysh
    и затем делаешь git clone git@ololo:/home/git/bnk.git без пароля и явного указания ключа.
    https://gist.github.com/jexchan/2351996

    Кстати, на github есть специальный вид ключа только для конкретного репозитария — deploy key.

    На винде огранизовать ключи и ssh config можно так же легко, как на *nix — надо только пользоваться сигвиновским git и сигвиновским ssh. Я так делаю.