Подключение к серверу по SSH: PuTTY, WinSCP, ключи (2024) | AdminWiki

Как подключиться к серверу по SSH: Полное руководство для разработчиков

17 декабря 2025 6 мин. чтения #devops #linux #ssh #ssh ключи #winSCP #безопасность #сервер #терминал

Что такое SSH и зачем он нужен

Представь, что тебе нужно управлять сервером, который находится за тысячи километров. SSH (Secure Shell) — это твой безопасный туннель для удалённого доступа. Это протокол, который шифрует всё соединение: команды, пароли, передаваемые файлы. Давай разберем, как им пользоваться правильно.

Базовое подключение к серверу по SSH

Самый простой способ — использовать пароль. Открой терминал (Linux/macOS) или PowerShell (Windows 10+) и выполни:

bash
ssh username@server_ip_address
# Пример:
ssh admin@192.168.1.100
ssh developer@example.com -p 2222  # если порт нестандартный
Важно: По умолчанию SSH использует порт 22. Если администратор изменил порт, укажи его флагом -p.

Как подключиться к серверу по SSH на Windows

В Windows есть несколько вариантов:

  • Windows 10/11: Встроенный клиент SSH в PowerShell или Terminal
  • PuTTY: Классический графический клиент
  • Git Bash: Часть установки Git для Windows

Безопасное подключение: как подключиться к серверу по SSH ключу

Пароли уязвимы к брутфорсу. SSH-ключи — это пара криптографических ключей (приватный и публичный). Приватный ключ хранится у тебя, публичный — на сервере.

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

bash
# Генерируем ключ RSA 4096 бит (рекомендуется)
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

# Или Ed25519 (современный и быстрый)
ssh-keygen -t ed25519 -C "your_email@example.com"

# Ключи сохранятся в ~/.ssh/id_rsa (приватный) и ~/.ssh/id_rsa.pub (публичный)

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

bash
# Автоматическая загрузка ключа
ssh-copy-id username@server_ip_address

# Вручную (если ssh-copy-id нет):
cat ~/.ssh/id_rsa.pub | ssh username@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Шаг 3: Подключаемся по ключу

bash
ssh username@server_ip_address
# Теперь подключение произойдет без запроса пароля
Опасно: Никогда не передавай приватный ключ (id_rsa) третьим лицам и не загружай его в публичные репозитории. Это как отдать ключи от квартиры.

WinSCP: как подключиться к серверу по SSH для передачи файлов

Иногда нужно не только выполнять команды, но и передавать файлы. WinSCP — популярный графический SFTP/SCP-клиент для Windows, который использует SSH.

Настройка WinSCP

  1. Скачай и установи WinSCP с официального сайта
  2. Запусти программу и выбери "Новое соединение"
  3. В поле "Имя хоста" введи IP сервера или домен
  4. Порт: 22 (или другой, если изменён)
  5. Имя пользователя: твой логин на сервере
  6. Пароль: пароль пользователя (или настрой ключи)
  7. Нажми "Войти"

Использование SSH-ключей в WinSCP

Чтобы использовать ключи вместо пароля:

  1. В окне входа нажми "Дополнительно"
  2. Перейди в "SSH" → "Аутентификация"
  3. В поле "Файл закрытого ключа" укажи путь к твоему приватному ключу (например, C:\Users\Имя\.ssh\id_rsa)
  4. Если ключ защищён парольной фразой, введи её

Продвинутые настройки SSH

Для частого подключения к одним и тем же серверам настрой конфигурационный файл ~/.ssh/config:

config
# ~/.ssh/config
Host myserver
    HostName 192.168.1.100
    User developer
    Port 2222
    IdentityFile ~/.ssh/id_rsa_myserver
    ServerAliveInterval 60  # держит соединение активным

Host production
    HostName production.example.com
    User deploy
    IdentityFile ~/.ssh/id_ed25519_prod

Теперь подключайся просто: ssh myserver вместо полной команды.

Сравнение методов подключения

Метод Безопасность Удобство Использование
Пароль Низкая Высокое Разовое подключение
SSH-ключи Высокая Высокое Регулярное использование
WinSCP + ключи Высокая Очень высокое Передача файлов + управление

Частые проблемы и решения

1. "Permission denied (publickey)"

SSH не может использовать твой ключ. Проверь:

  • Правильные права на файл ключа: chmod 600 ~/.ssh/id_rsa
  • Ключ добавлен в ssh-agent: ssh-add ~/.ssh/id_rsa
  • Публичный ключ на сервере в ~/.ssh/authorized_keys

2. Подключение очень медленное

Добавь в /etc/ssh/ssh_config или ~/.ssh/config:

config
Host *
    GSSAPIAuthentication no
    # или полностью отключи DNS lookup
    UseDNS no

Лучшие практики безопасности

  • Используй SSH-ключи вместо паролей — отключи парольную аутентификацию на сервере
  • Меняй стандартный порт 22 — это снизит количество автоматических атак
  • Используй Fail2ban — блокируй IP после нескольких неудачных попыток
  • Регулярно обновляй SSH-клиент и сервер — исправления уязвимостей
  • Используй парольные фразы для ключей — дополнительная защита
Профессиональный совет: Для production-серверов настрой двухфакторную аутентификацию (2FA) через Google Authenticator или Duo Security.

Теперь ты знаешь не только как подключиться к серверу по SSH, но и как делать это безопасно и эффективно. Начни с пароля для тестов, переходи на ключи для работы, а для передачи файлов используй WinSCP или rsync. Помни: безопасность — это не пункт в чек-листе, а постоянный процесс.

Поделиться:
Сохранить гайд? В закладки браузера