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

«Как подключиться к удаленному серверу по SSH?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

SSH (Secure Shell) — основной протокол для безопасного удаленного управления Linux-серверами в DevOps.

Базовый синтаксис:

ssh [опции] <пользователь>@<хост>

Примеры:

# Подключение по стандартному порту (22)
ssh deploy@203.0.113.10

# Подключение по нестандартному порту
ssh deploy@example.com -p 2222

# Подключение с использованием конкретного приватного ключа
ssh -i ~/.ssh/id_ed25519_deploy user@host

Практика в DevOps:

  1. Аутентификация по ключам: Пароли не используются. Публичный ключ добавляется в ~/.ssh/authorized_keys на сервере. Ключи генерируются командой ssh-keygen -t ed25519.
  2. Конфигурационный файл ~/.ssh/config: Упрощает подключение к часто используемым хостам.
    Host app-prod
        HostName 203.0.113.10
        User deploy
        Port 22
        IdentityFile ~/.ssh/id_ed25519_prod

    Теперь можно подключиться просто: ssh app-prod.

  3. Агент SSH: ssh-agent позволяет кэшировать ключи, чтобы не вводить парольную фразу каждый раз.
  4. Для отладки проблем с подключением используйте флаг -v (verbose): ssh -v user@host.