SSH
$ ssh -V
$ 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
$ touch app.py
Открываем его в текстовом редакторе и пишем приложение:
$ vim app.py
Сохраняем, закрываем файл и стартуем сервер указав публичный IP адрес сервера :
$ flask run -h 193.188.23.138
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