💻 Примеры: SSH от генерации ключей до scp

К оглавлению урока

⚡ Весь флоу в одном блоке

# 1. Сгенерировать ключи
ssh-keygen
# (нажимать Enter несколько раз)

# 2. Посмотреть публичный ключ и скопировать его
cat ~/.ssh/id_rsa.pub

# 3. Подключиться к серверу (после того как преподаватель добавил ключ)
ssh -i ~/.ssh/id_rsa ec2-user@linux.itcareerhub.de

# 4. Создать рабочую папку (на сервере)
mkdir /opt/ИМЯ_ГРУППЫ/ВАШЕ_ИМЯ

# 5. Проверить
ls /opt

# 6. Скопировать файл с сервера в локальную папку (exit сначала!)
# exit — выйти с сервера
scp -i ~/.ssh/id_rsa ec2-user@linux.itcareerhub.de:/opt/ГРУППА/ИМЯ/file .

Шаг 1: Генерация пары ключей

Выполняется один раз на вашем компьютере (не на сервере).

ssh-keygen

Программа задаёт вопросы — нажимайте Enter на каждый:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): [Enter]
Enter passphrase (empty for no passphrase): [Enter]
Enter same passphrase again: [Enter]
Your identification has been saved in /home/user/.ssh/id_rsa
Your public key has been saved in /home/user/.ssh/id_rsa.pub

После этого в ~/.ssh/ появятся два файла:

  • id_rsa — приватный ключ. Только у вас!
  • id_rsa.pub — публичный ключ. Для передачи на сервер.

Шаг 2: Просмотр и копирование публичного ключа

cat ~/.ssh/id_rsa.pub

Вывод выглядит примерно так:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9XYz... user@hostname

Скопируйте всю строку целиком и отправьте преподавателю в чат.

Не захватывайте лишние символы или переносы строки — ключ должен быть одной строкой. Даже один лишний пробел или символ сделает ключ недействительным.

Шаг 3: Преподаватель добавляет ключ на сервер

Преподаватель добавляет ваш публичный ключ в файл ~/.ssh/authorized_keys на сервере:

nano .ssh/authorized_keys
# Вставить ваш публичный ключ

После этого вы сможете подключиться.

Шаг 4: Подключение к серверу

ssh -i ~/.ssh/id_rsa ec2-user@linux.itcareerhub.de

При первом подключении может появиться:

The authenticity of host 'linux.itcareerhub.de' can't be established.
ECDSA key fingerprint is SHA256:...
Are you sure you want to continue connecting (yes/no)? yes

Введите yes и нажмите Enter. После этого вы окажетесь на сервере.

Шаг 5: Создать рабочую папку на сервере

# Вы уже на сервере (ssh подключён)
mkdir /opt/ИМЯ_ГРУППЫ/ВАШЕ_ИМЯ
ls /opt

Обратите внимание: работаем в папке /opt, где есть папки всех групп. Все последующие домашние работы выполняются в вашей личной папке на сервере.

Шаг 6: Копирование файлов через scp

Выполняется с вашего компьютера (не с сервера). Сначала выйдите с сервера командой exit.

# Скопировать файл с сервера в текущую папку (. = текущая папка на вашем ПК)
scp -i ~/.ssh/id_rsa ec2-user@linux.itcareerhub.de:/opt/ГРУППА/ИМЯ/file .

# Отправить файл с вашего компьютера на сервер
scp -i ~/.ssh/id_rsa ./myfile.txt ec2-user@linux.itcareerhub.de:/opt/ГРУППА/ИМЯ/

Точка . в первой команде — текущая директория на вашем компьютере.