README: clone on Ubuntu, git pull, SSH/PAT auth

This commit is contained in:
PTah
2026-04-11 19:04:51 +10:00
parent c411a4940b
commit 6740b2d37f
+92 -1
View File
@@ -6,6 +6,93 @@ TLS: на целевых серверах используются **wildcard-с
Репозиторий: [https://github.com/PTah/reverse-proxy](https://github.com/PTah/reverse-proxy) Репозиторий: [https://github.com/PTah/reverse-proxy](https://github.com/PTah/reverse-proxy)
## Клонирование на Ubuntu, обновление и доступ без постоянного ввода пароля
### Установка Git
```bash
sudo apt update
sudo apt install -y git
```
### Первое клонирование
**Публичный** репозиторий можно клонировать **без логина и пароля**:
```bash
cd ~
git clone https://github.com/PTah/reverse-proxy.git
cd reverse-proxy
```
Если репозиторий станет **приватным** или понадобятся **push**-правки с сервера, используйте один из способов ниже.
### Обновление локальной копии
```bash
cd ~/reverse-proxy
git pull origin main
```
После `git pull` снова скопируйте при необходимости файлы в `/etc/haproxy/` (см. раздел «Установка конфигурации»).
### Как не вводить логин и пароль при каждом `git pull` / `git push`
#### Способ 1: SSH-ключ (предпочтительно)
1. Создайте ключ (имя файла можно своё):
```bash
ssh-keygen -t ed25519 -C "ubuntu-haproxy" -f ~/.ssh/id_ed25519_github
```
Парольную фразу можно задать или оставить пустой (на сервере оцените риски).
2. Покажите **публичный** ключ и добавьте его в GitHub: **Settings → SSH and GPG keys → New SSH key**.
```bash
cat ~/.ssh/id_ed25519_github.pub
```
3. Проверьте доступ:
```bash
ssh -T git@github.com
```
4. Клонируйте по **SSH** (или смените URL у уже существующего клона):
```bash
git clone git@github.com:PTah/reverse-proxy.git
# уже склонировано по HTTPS — переключение:
# git remote set-url origin git@github.com:PTah/reverse-proxy.git
```
Дальше `git pull` / `git push` идут по SSH **без пароля GitHub** (при необходимости один раз вводится только passphrase ключа, если вы её задали; её можно кешировать через `ssh-agent`).
#### Способ 2: HTTPS + Personal Access Token (PAT)
GitHub **не принимает** обычный пароль аккаунта для Git по HTTPS; нужен **токен**: **Settings → Developer settings → Personal access tokens**.
После создания токена при `git pull` в качестве пароля вставляйте **токен** (логин — ваш логин GitHub).
Чтобы **не вводить токен каждый раз**, можно один раз сохранить учётные данные (токен хранится **в открытом виде** в `~/.git-credentials` — только на доверенных машинах):
```bash
git config --global credential.helper store
# затем один раз выполнить git pull и ввести логин + PAT — дальше подставятся из файла
```
Более безопасный вариант — кеш на время сессии (в секундах):
```bash
git config --global credential.helper 'cache --timeout=28800'
```
#### Способ 3: только чтение, репозиторий публичный
Для **публичного** репозитория `git clone` и `git pull` по HTTPS **учётные данные не нужны** — отдельная настройка не требуется.
## Соответствие имён и адресов ## Соответствие имён и адресов
| Служба | Внешнее имя (клиенты) | Внутренний хост / IP | Порт снаружи | | Служба | Внешнее имя (клиенты) | Внутренний хост / IP | Порт снаружи |
@@ -64,7 +151,11 @@ sudo haproxy -c -f /etc/haproxy/haproxy.cfg
1. Убедитесь, что установлен HAProxy **2.4+** (см. раздел выше). 1. Убедитесь, что установлен HAProxy **2.4+** (см. раздел выше).
2. Скопируйте `haproxy.cfg` в `/etc/haproxy/haproxy.cfg`. 2. Скопируйте `haproxy.cfg` в `/etc/haproxy/haproxy.cfg`. Пример, если репозиторий лежит в домашнем каталоге:
```bash
sudo cp ~/reverse-proxy/haproxy.cfg /etc/haproxy/haproxy.cfg
```
3. Списки доверенных адресов для RDP и SSH: 3. Списки доверенных адресов для RDP и SSH:
```bash ```bash