README: clone on Ubuntu, git pull, SSH/PAT auth
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user