Клонирование git-репо на сервере Media Temple - PullRequest
2 голосов
/ 12 марта 2010

У меня есть сервер Media Temple, на котором уже установлен git. Как я могу клонировать файлы из репозитория, размещенного на GitHub?

1 Ответ

5 голосов
/ 12 марта 2010

Вероятно, это похоже на клонирование на сервере Media Temple репозитория, размещенного на Unfundle (процесс, для которого у вас есть полное руководство здесь)

Часть Media Temple включает в себя (предположим, что вы уже создали пару ключей SSH на своем локальном компьютере и добавили ее в GitHub):

Это похоже на настройку ключей на локальном компьютере, за исключением того, что путь к папке .ssh немного отличается.
Это будет зависеть от плана хостинга, который вы используете с Media Temple. Мой был такой:

Вместо ~/.ssh это было /home/HOSTING_CODE/users/.home/.ssh, где HOSTING_CODE - это 5-значный номер, назначенный вашему тарифному плану.

Вы узнаете, что это за путь, когда выполните команду "ssh-keygen -1 rsa". Это будет упомянуто в приглашении с именем файла.

ПРИМЕЧАНИЕ. В отличие от локального keygen, удаленный сервер потребует от вас ввести полный путь от root.

SSH на вашем сервере Media Temple, затем продолжайте.

Следующая команда запросит у вас имя файла и пароль.

Если вы намереваетесь иметь несколько пар ключей (что, вероятно, когда-то будет), то лучше назвать их по-разному.

Так что предоставляйте короткое описательное имя файла каждый раз, когда вы создаете новую пару ключей.
Для разворота я использую SUBDOMAIN и «развернутый», поэтому для меня это «myproject_unfuddle». Вы добавите это в файл .ssh/config через минуту.

Кроме того, хотя вы МОЖЕТЕ использовать пустую фразу-пароль, вы всегда должны указывать пароль.

$ ssh-keygen -t rsa
  Generating public/private rsa key pair.
$ Enter file in which to save the key (/home/HOSTING_CODE/users/.home/.ssh/id_rsa):  
  [provide a filename] <- create a short descriptive filename  
  [ie - myproject_unfuddle]

$ Enter passphrase (empty for no passphrase): [password] <- always use a password
$ Enter same passphrase again: [password confirmation]

$ Your identification has been saved in 
  /home/HOSTING_CODE/users/.home/.ssh/myproject_unfuddle.

$ Your public key has been saved in 
  /home/HOSTING_CODE/users/.home/.ssh/myproject_unfuddle.pub.
  The key fingerprint is:
  46:1b:99:56:77:0b:38:1e:35:92:de:94:58:b4:f3:d4 user@machine

Следующее откроет открытый ключ на экран. Вам нужно будет скопировать это и вставить его в ближайшее время.

$ cat /home/HOSTING_CODE/users/.home/.ssh/myproject_unfuddle.pub<
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwIuZA6ca9I1E2c6j1lbqvzDpZD2XQ5dRGVjeby1SGX+6
tyjA1zcN9mim9DXOWiX1wyUwnQdNR3qmzJwjlX1riLpXoEutZxRHsvWyeQFsrWM8B5rJk0U0HDEEH+/9
u0SjGZZq0ERZE+L999ZzAYp7voxD7L7zFqp+odqNMpLln4A98JTBI50q5tVBQBbkh8wXHKPI0xLB1N9u7
VCLB8zrR7/SC73/t3XicnhmaaPL8R+9GKyfRtjxAWyRGZiG+A9ZDXgQ9m6kNP2xS3AFi2jRvHfH2tnmy
+KD80sn9hwqTIMANVr2FjVloBHmi+FIHeL9qFbdI/4DCJMHt/hEdAw== user@machine

Далее нам нужно добавить этот ключ в файл конфигурации ssh. Если вы никогда не создавали конфигурационный файл, возможно, он еще не существует.

Итак, откройте / создайте файл конфигурации:

$ pico /home/HOSTING_CODE/users/.home/.ssh/config

Оказавшись внутри, добавьте новую запись:

$ IdentityFile /home/HOSTING_CODE/users/.home/.ssh/myproject_unfuddle

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

Просто добавьте новые записи выше или ниже других:

$ IdentityFile /home/HOSTING_CODE/users/.home/.ssh/myproject_unfuddle
  IdentityFile /home/HOSTING_CODE/users/.home/.ssh/some_other_key_name

Затем нажмите CTRL - X , чтобы выйти, что предложит вам сохранить буфер (нажмите y ), а затем имя файла (по умолчанию имя, которое вы открыли с помощью (config), затем нажмите return )

SSH на ваш сервер Media Temple, затем продолжайте.

$ git clone gitRepoName@github.com:SUBDOMAIN/ABBREVIATION.git

Вам будет предложено ввести пароль, если открытый ключ был найден на GitHub.

...