💻 Примеры: SSH и SCP в действии

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

⚡ Ключевые примеры

# 1. Сгенерировать ключи
ssh-keygen

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

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

# 4. На сервере — создать папку
mkdir -p /opt/GROUP/NAME

# 5. Скопировать файл с сервера (запускать локально)
scp -i ~/.ssh/id_rsa ec2-user@linux.itcareerhub.de:/opt/GROUP/NAME/test.txt .

GROUP/NAME — замените на имя своей группы и своё имя.

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

# На вашей локальной машине (не на сервере)
ssh-keygen
# Программа задаст вопросы:
# 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]
#
# Результат — два файла в ~/.ssh/:
ls -la ~/.ssh/
# -rw-------  id_rsa       ← приватный (только для вас!)
# -rw-r--r--  id_rsa.pub   ← публичный (передаёте преподавателю)

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

# Вывести публичный ключ — скопировать и отдать преподавателю
cat ~/.ssh/id_rsa.pub
# Вывод примерно такой (одна длинная строка):
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC... user@hostname
Важно: Копировать нужно ПУБЛИЧНЫЙ ключ (id_rsa.pub). Никогда не отправляйте файл id_rsa — это приватный ключ!

Пример 3: Подключение к учебному серверу

# После того, как преподаватель добавил ваш публичный ключ:
ssh -i ~/.ssh/id_rsa ec2-user@linux.itcareerhub.de
# При первом подключении:
# The authenticity of host 'linux.itcareerhub.de' can't be established.
# Are you sure you want to continue connecting? yes
#
# После входа вы увидите приветствие сервера (Amazon Linux AMI)
# Приглашение изменится на: [ec2-user@ip-xxx-xxx ~]$

Пример 4: Создание рабочей папки на сервере

# На сервере: посмотреть существующие группы
ls /opt
# Создать свою папку (замените GROUP/NAME на реальные значения)
mkdir -p /opt/GROUP/NAME
# Проверить результат
ls /opt/GROUP

Пример 5: Создание файла и управление правами

# На сервере: создать пустой файл через редирект
> /opt/GROUP/NAME/test.txt

# Проверить, что файл появился
ls -la /opt/GROUP/NAME/

# Дать право исполнения владельцу
chmod u+x /opt/GROUP/NAME/test.txt

# Убрать права чтения для группы и остальных
chmod og-r /opt/GROUP/NAME/test.txt

# Проверить новые права
ls -la /opt/GROUP/NAME/test.txt
# Должно быть примерно: --x------

Пример 6: Копирование файла с сервера через SCP

# На вашей локальной машине (выйдите с сервера через exit):
exit

# Скопировать test.txt из папки на сервере в текущую папку (.)
scp -i ~/.ssh/id_rsa ec2-user@linux.itcareerhub.de:/opt/GROUP/NAME/test.txt .

# Проверить, что файл скопировался
ls -la test.txt

Полный разбор всех шагов с решениями — в разделе Решения.