Введение - Хочу создать Git-сервер на бесплатном тарифе GCP

9 min

language: ja bn en es hi pt ru zh-cn zh-tw

Привет, я бездарь.
Кажется, я впервые за долгое время вошел в сам GCP?
Похоже, последний проект, который я создал, был в 2016 году...
Image
Похоже, он обновляется при доступе, так что My First Project, вероятно, был создан еще раньше...
То есть, сейчас 2024 год, это 8 лет назад... Мне было 15 лет!!!!
Время безжалостно.
Кажется, я вырос, но в то же время в чем-то деградировал... Нет, деградация включает в себя и смысл эволюции. Давайте мыслить позитивно.

Кстати, если я поем вкусную еду в пятницу, мне хочется расслабиться.
Image
Image
Image

Введение

У меня также есть аккаунт OCI, но я ошибся с выбором региона при первой регистрации и оставил его без внимания более полугода? Даже когда я иногда заглядываю, у меня всегда нет свободных ресурсов в бесплатном тарифе.
И почему-то только я не могу им пользоваться... Я подумал, что в менее популярных регионах, наверное, больше свободных ресурсов! Зарегистрировался там и успешно провалился.
Поскольку мне придется использовать экосистему Google для работы, я воспользуюсь этой возможностью и создам Git-сервер на GCE.
Есть еще одна причина: я просто думаю, что будет легче делать резервные копии данных, если Git-сервер будет находиться не дома. Что касается сети, если я буду использовать его только для себя, то, вероятно, не будет никаких сборов, и вот почему я не использовал GCP до сих пор:

Бесплатный тариф Google Cloud Platform (GCP) включает 1 ГБ исходящего сетевого трафика.

Это довольно проблематично. Точнее, очень проблематично. Но если использовать его только как личный Git-сервер, то, похоже, об этом не стоит особо беспокоиться, поэтому я просто держал эту мысль в голове и собирался заняться этим, когда будет свободное время.

Хочу использовать полностью бесплатно

Такие системы оплаты с каждым годом становятся все менее понятными, поэтому следует следить за теми, кто постоянно обновляет информацию о полностью бесплатных решениях. Их подробные объяснения очень ценны.
Хотя мне кажется, что интерфейс не сильно изменился с давних пор, более вероятно, что моя память просто ослабла.
Создание экземпляра VM в бесплатном тарифе GCP
Создание сервера с использованием бесплатного тарифа Google Cloud Platform (GCP)

Быстрое создание пользователя

Конечно, имя пользователя по умолчанию от аккаунта Google выглядит странно, поэтому я переключусь на root, создам пользователя и настрою SSH-доступ.

root@git-srv1:~# adduser haturatu
Adding user `haturatu' ...
Adding new group `haturatu' (1002) ...
Adding new user `haturatu' (1002) with group `haturatu (1002)' ...
Creating home directory `/home/haturatu' ...
Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for haturatu
Enter the new value, or press ENTER for the default
        Full Name []: 
        Room Number []: 
        Work Phone []: 
        Home Phone []: 
        Other []: 
Is the information correct? [Y/n] 
Adding new user `haturatu' to supplemental / extra groups `users' ...
Adding user `haturatu' to group `users' ...
root@git-srv1:~# usermod -aG sudo haturatu
root@git-srv1:~# su - haturatu
haturatu@git-srv1:~$ 

Настройка SSH

haturatu@git-srv1:~$ vim .ssh/authorized_keys
haturatu@git-srv1:~$ chmod 600 .s
.ssh/                      .sudo_as_admin_successful  
haturatu@git-srv1:~$ chmod 600 .ssh/authorized_keys 
haturatu@git-srv1:~$ chmod 700 .ssh
haturatu@git-srv1:~$ 
haturatu@git-srv1:~$ sudo service sshd restart

Настройка брандмауэра

haturatu@git-srv1:~$ sudo apt install ufw
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  ufw
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 168 kB of archives.
After this operation, 878 kB of additional disk space will be used.
Get:1 file:/etc/apt/mirrors/debian.list Mirrorlist [30 B]
Get:2 https://deb.debian.org/debian bookworm/main amd64 ufw all 0.36.2-1 [168 kB]
Fetched 168 kB in 0s (1133 kB/s)
Preconfiguring packages ...
Selecting previously unselected package ufw.
(Reading database ... 68496 files and directories currently installed.)
Preparing to unpack .../archives/ufw_0.36.2-1_all.deb ...
Unpacking ufw (0.36.2-1) ...
Setting up ufw (0.36.2-1) ...

Creating config file /etc/ufw/before.rules with new version

Creating config file /etc/ufw/before6.rules with new version

Creating config file /etc/ufw/after.rules with new version

Creating config file /etc/ufw/after6.rules with new version
Created symlink /etc/systemd/system/multi-user.target.wants/ufw.service → /lib/systemd/system/ufw.service.
Processing triggers for rsyslog (8.2302.0-1) ...
Processing triggers for man-db (2.11.2-2) ...
haturatu@git-srv1:~$ sudo ufw allow 22/tcp
Rules updated
Rules updated (v6)
haturatu@git-srv1:~$ sudo ufw reload
Firewall not enabled (skipping reload) 
haturatu@git-srv1:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
haturatu@git-srv1:~$ sudo ufw reload
Firewall reloaded

Приступаем к SSH

Я уже добавил ключ с помощью vim .ssh/authorized_keys, так что теперь осталось только подключиться по SSH с клиентского ПК (ноутбука, с которого я работаю).

alleycat:[haturatu]:~$ ssh -l haturatu gce-global-ip
The authenticity of host 'nyao-n' can't be established.
ED25519 key fingerprint is SHA256:nyannyan
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'nyannyan' (ED25519) to the list of known hosts.
Linux git-srv1 6.1.0-27-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.115-1 (2024-11-01) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
haturatu@git-srv1:~$ uname -a
Linux git-srv1 6.1.0-27-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.115-1 (2024-11-01) x86_64 GNU/Linux

Быстро справился!
И, поскольку я просто вставлял текст, получилось длинно, так что продолжение следует во второй части.

Related Posts