март 9, 2020

Основы SSH

Основы использования SSH, копирование файлов, общая информация

Основы SSH

Secure Shell - де-факто стандартный способ получения доступа к терминалу на удалённом\виртуальном сервере. На компьютере, куда нужно получить доступ устанавливается ssh сервер, на компьютер за которым работает оператор - ssh клиент. Посредством SSH можно:

  1. Передавать файлы
  2. Выполнять команды на целевом сервере
  3. Получать информацию о целевой системе и выполнять простейшую автоматизацию

На Linux и MacOS у нас есть терминал - SSH, как правило, установлен по умолчанию. Для Windows я использовал такие варианты:

  1. MobaXTerm - удобно, но платно. Для некомерческого использования подходит, для использования в компании - придётся купить лицензию. Преимущества:
    • сразу предоставляет файловый менеджер с drag-n-drop файлов на целевую систему
    • нормальная подстветка и поддержка RSA ключей
  2. Git - при установке Git-a, он в комплекте поставляет Git Bash и SSH клиент. Очень приближённая среда к обычному Bash.

Как подключаться?

ssh [-p <ssh порт>] <пользователь>@<ip целевого хоста>

Порт указывается опционально, по умолчанию это порт 22, но настоятельно рекомендуется не запускать SSH сервер на стандартном порту, так как в мире полным полно автоматизированных ботов, которые сканируют подсети облачных провайдеров и выискивают виртуалки с SSH-ем на стандратном порту и простеньким паролеи, чтобы приобщить оную к какому-нибуть ботнету. Однажды я на этом попался, но это совсем другая история...

Копирование файлов

Скопировать файлы на целевой хост, можно с помощью scp.

scp [-P <ssh порт>] /path/to/local/file <пользователь>@<ip целевого хоста>:<путь на сервере назначения>

Обратите внимание:

  1. Порт у scp указывается с помощью -P, в то время как для обычного ssh - -p.
  2. Папка на целевой машине должна принадлежать пользователю от имени которого вы подключаетесь, или должны быть разрешения для него на запись в ту папку\файл.