пятница, 13 июня 2025 г.

Удаленный сервер

SSH


Проверяем установлен ли SSH:
$ ssh -V
Генерируем открытый и закрытый ключи типа rsa размером 2048 бит с комментарием ("TimeWeb Machine") и именем файла (timeweb):
$ ssh-keygen -t rsa -b 2048 -C "TimeWeb Machine" -f timeweb

Смотрим как выглядит наш открытый ключ:

$ cat timeweb.pub 

Устанавливаем права доступа к файлу приватного ключа:
$ chmod 600 <путь_к_ключу>

Подключение к серверу через SSH:

$ ssh -i <путь_к_ключу> <имя_пользователя>@<публичный_ip> 

 Начало работы по SSH

Создание пользователя:
# adduser user

Даем пользователю права администратора добавив пользователя 'user' в группу 'sudo':

# usermod -aG sudo user 

Переключаемся на пользователя 'user':

# su - user 

С помощью команда exit или сочетания клавиш ctrl+d выходим из под user и отключаемся от сервера.

Заходим в систему под user в систему:

$ ssh -i <путь_к_ключу> user@<публичный_ip> 

Переходим в домашнюю папку:

$ cd ~ 

Создаем директорию '.ssh':

$ mkdir -p .ssh 

Изменяем права на папку:

$ chmod 700 .ssh 

Записываем открытый ключ в файл в папке .ssh:

$ echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC71WE1Yt+fivi8MFJM6or0ReikTNmGbX1ae3RY5FmgJr5ni5vPiVyoErDkJWzlYzAbZYbvtY5Se34mZhl5KUId/facOo0J0sLXKNc8P1SXoVIMYIXxu5ajYEw7K/xB2KDzzJ1k3Y3wldA1eyUSS4khkvM0IlqZvdycEnsXrcv3CFCh2TmtgG7eyF8/OxXl7EYtk/csmdnHRjru1QGvVVNMh2S1aoJiOgViOqkSkV0suq0cWyaSYexVIEej/eU3XgB8aebuICliqYe+myRq0SsxaNdNUmRlgDMzj8uQ/6JiYq/Do9AfpYqLW7Lpc5WKj9BEfhffewZDXI6Ax6chHsxp TimeWeb Machine" >> ~/.ssh/authorized_keys

Проверяем, что файл создался:

$ cat  ~/.ssh/authorized_keys

Файл конфигурации SSH:

$ sudo nano /etc/ssh/sshd_config

    $ sudo systemctl reload sshd.service 



Настройка python проекта

Заходим на машину: 
$ ssh -i <путь_к_ключу> user@<публичный_ip>

Проверяем версию python:

$ python3 -V 

Устанавливаем модуль virtualenv:

$ sudo apt install python3-virtualenv 

Создаём рабочую папку:

$ mkdir workspace

$ cd workspace

Создаем виртуальное окружение:

 $ python3 -m virtualenv -p python3 venv

Активируем виртуальное окружение:

$ source venv/bin/activate 

Устанавливаем flask:

 $ pip install flask

Создаем простенький файл с flask-сервисом:
$ touch app.py

Открываем его в текстовом редакторе и пишем приложение:

$ vim app.py 

 Сохраняем, закрываем файл и стартуем сервер указав публичный IP адрес сервера :

$ flask run -h 193.188.23.138


Статья про Vim 

rsync

rsync -e "ssh -i timeweb" -Praz /home/projects/python_advanced/module_08_deploy/materials/new_year_application/app.py user@193.188.23.138:/home/user/workspace/new_year_application