SSH (Secure SHell) — это сетевой протокол, позволяющий соединяться с удалённым сервером и выполнять на нём команды, загружать файлы и создавать туннелирование TCP-соединений. Ключевой особенностью является шифрование передаваемой информации. По умолчанию на хостинге используется командный интерпретатор bash.
Содержание
1. Информация для подключения
Информацию для подключения к серверу по SSH и SFTP вы можете получить в разделе FTP и SSH панели управления хостингом.
- Адрес сервера (хост): ssh.login.nichost.ru, где «login» — уникальное имя услуги хостинга (указано в верхней правой части панели управления).
- Имя SSH-пользователя (логин): login.
- Для получения пароля SSH-пользователя нажмите кнопку Сбросить пароль. Новый пароль будет отображен в всплывающем окне. Для отправки пароля на ваш контактный адрес электронной почты, установите галочку Выслать пароль на почту.
Чтобы соединиться по SSH с сервером хостинга, установите на компьютер ssh-клиент . Для загрузки файлов на хостинг используйте SFTP-клиент.
Если при соединении по SSH выводится сообщение «cannot allocate memory», это означает, что на вашем хостинге занята вся доступная по тарифу память. Чтобы ее освободить, вы можете временно остановить веб-сервер и отключить задания планировщика заданий в разделе Управление веб-сервером панели управления хостингом. Дополнительно рекомендуем ознакомиться со статьей Использование ресурсов хостинга.
2. Работа с хостингом с помощью Midnight Commander
Midnight Commander — двухпанельный файловый менеджер. Имеет встроенный текстовый редактор.
Для запуска Midnight Commander подключитесь к хостингу по SSH и введите команду
Основные горячие клавиши:
- F1: Справка;
- F3: Встроенный просмотрщик файлов;
- F4: Встроенный текстовый редактор;
- F5: Копировать файл;
- F6: Переместить (переименовать) файл;
- F8: Удалить файл;
- F9: Вывести выпадающее меню;
- F10: Выход из программы;
- Tab: Переход между панелями;
- Insert: Пометить файл для операций с несколькими файлами, например, для копирования.
3. Работа с хостингом из командной строки
Получение справочной информации
Для получения справочной информации по интересующей команде command наберите в командной строке:
для завершения работы со справкой нажмите «q».
Краткую справку по команде обычно можно получить, запустив ее с параметром —help или -h:
Перемещение по файловой системе
Вывести текущий каталог:
Перейти в домашний каталог пользователя:
Перейти в каталог tmp, размещенный в текущем каталоге:
Перейти в каталог по полному пути /home/login/sitename.ru/docs (корневой каталог сайта sitename.ru):
Перейти в родительский каталог (на уровень выше):
Перейти в предыдущий каталог:
Создание и удаление файлов и каталогов
Создать новый каталог foo в текущем каталоге:
Создать структуру каталогов foo/bar/baz в текущем каталоге:
mkdir -p foo/bar/baz
Удалить каталог foo в текущем каталоге. Каталог должен быть пуст:
Удалить каталог foo со всеми файлами и подкаталогами:
Создать пустой файл foo:
Удалить файл foo:
Просмотр и редактирование содержимого файлов
Просмотреть содержимое текстового файла (лог-файла сайта) (Для выхода нажмите «q»):
Открыть файл foo в текстовом редакторе:
Копирование и перемещение файлов
Копировать файл foo в файл bar:
Скопировать содержимое каталога old в каталог new:
Переименовать файл foo в файл bar:
Переместить файл foo в существующий каталог bar под именем baz:
Изменение прав доступа
Рекомендуемые права доступа на хостинге для файлов 644 (rw-rw-rw-), для каталогов 755 (rwxr-xr-x).
Сделать файл foo исполняемым:
Сделать файл foo доступным только для чтения:
Изменение прав доступа для всех каталогов, вложенных в каталог foo на 755:
find foo -type d -exec chmod 755 <> ;
Изменение прав доступа для всех вложенных в каталог foo файлов на 644:
find foo -type f -exec chmod 644 <> ;
Показать информацию о процессах в реальном времени (Для выхода нажмите «q»):
Показать подробную информацию о всех выполняющихся процессах:
Завершить работу процесса по его идентификатору процесса (PID) 1234:
В этой статье мы расскажем про SSH: что это такое, как подключиться к серверу по SSH, как создать папку и архив, а также как по SSH изменить права на файлы и папки.
SSH – это протокол передачи данных, позволяющий производить безопасное и защищённое управление операционной системой и данными.
Подключение по SSH возможно на всех тарифных планах Linux-хостинга, кроме тарифа «Host-Lite». Если у вас заказан тарифный план «Host-Lite», повысьте тариф и у вас появится возможность соединения по SSH: Как повысить тарифный план хостинга?
На тарифах виртуального хостинга не предоставляется возможность использования Midnight Commander. Данная возможность присутствует на VPS-серверах.
Как подключиться к серверу по SSH?
В зависимости от операционной системы, установленной на вашем домашнем компьютере (не путайте с ОС хостинга), для SSH подключения к серверу Linux-хостинга возможны следующие варианты:
- Если на вашем компьютере установлена ОС Windows, то подключение происходит через Putty.
- Для ОС Linux на компьютере доступно подключение к SSH через терминал.
На вашем компьютере установлена ОС Windows
Для подключения по SSH в ОС Windows мы рекомендуем использовать SSH-клиент PuTTy. Скачать клиент можно на официальном сайте (англоязычная версия).
Подключение по SSH Windows:
На странице с основными настройками сеанса PuTTY, в поле «Host Name» введите IP-адрес сервера.
IP-адрес сервера указан в информационном письме, отправленном на контактный e-mail после заказа хостинга. Также данная информация продублирована в Личном кабинете. Авторизуйтесь на сайте REG.RU и кликните по нужной услуге хостинга. IP-сервера указан на вкладке «Доступы»:
Если вы уже делегировали домен на сервер, вместо IP-адреса можно указать домен. Также в качестве хоста можно использовать технологический домен.
При первом подключении к серверу появится окно «Предупреждение безопасности PuTTY». Нажмите Да:
В открывшемся окне PuTTY введите ваш логин услуги хостинга вида «u1234567». Нажмите Enter. Затем введите ваш пароль от услуги хостинга и нажмите Enter. В целях безопасности вводимый пароль не отображается на экране в виде символов. Набирая пароль, вы не увидите на экране ни самого пароля, ни звёздочек.
Чтобы вставить скопированный логин и пароль в окно PuTTy, нажмите Shift + Insert.
Логин и пароль услуги хостинга указаны в информационном письме, отправленном на контактный e-mail после заказа хостинга. Также данная информация продублирована в Личном кабинете. Авторизуйтесь на сайте REG.RU и кликните по нужной услуге хостинга. Логин и пароль указаны на вкладке «Доступы»:
Важно: если вы несколько раз подряд ввели неправильный пароль и сервер заблокировал соединение по SSH (если PuTTY не подключается по SSH), обратитесь в техническую поддержку или подождите 2 часа. По истечении этого времени блокировка снимается автоматически.
Как только вы подключитесь по SSH, вы окажетесь в домашнем каталоге вашего хостинга. Консольные команды Linux представлены по ссылке. Обратите внимание: многие из этих команд выполнить на виртуальном хостинге не получится (установка и удаление пакетов, монтирование файловых систем и др.), так как у вас нет root-доступа.
На вашем компьютере установлена Linux-подобная ОС (как подключиться по SSH Ubuntu, Kubuntu, Fedora, …)
Для ОС Linux доступ по SSH осуществляется через терминал, который уже предустановлен в самой системе.
- в Unity (Ubuntu): «Главное меню» — в поисковой строке введите слово «Терминал». Либо просто нажмите комбинацию клавиш: Ctrl+Alt+T;
- в Xfce (Xubuntu): «Главное меню» — «Приложения» — «Система» — «Терминал»;
- в KDE (Kubuntu): «Главное меню» — «Приложения» — «Система» — «Терминал».
Где u1234567 — логин учётной записи хостинга (Как узнать логин и пароль услуги хостинга?; 123.123.123.123 — IP-адрес сервера (Как узнать IP-адрес сервера?).
Готово, вы успешно завершили ssh-подключение через терминал.
Можно ли создать дополнительного SSH-пользователя?
На виртуальном хостинге подключение по SSH возможно только под основным логином хостинга (вида u1234567). Создать дополнительного пользователя SSH нельзя.
Как отключить доступ по SSH?
Чтобы отключить SSH-доступ на хостинге, напишите заявку в службу поддержки. В заявке сообщите ваш логин хостинга (вида u1234567), для которого необходимо отключить доступ по SSH.
Как создать архив по SSH?
Создание архива tar.gz
- Данная команда создаст архив папки path/folder-name/. Название архива — name.tar.gz.
- Все файлы будут сжаты при помощи gzip.
- В процессе создания архива будет показан процесс архивации. Если данная информация вам не нужна, уберите ключ «v» из команды.
Разархивация происходит при помощи команды:
Создание архива zip
В результате команды из примера будет создан архив папки /var/log со всем её содержимым. Имя созданного архива: log.zip. Разархивировать можно будет при помощи команды:
Как создать или удалить папку по SSH?
Чтобы создать папку, подключитесь к серверу по SSH и используйте команду:
Где new_folder_name — имя создаваемой папки.
После подключения по SSH удалить папку можно с помощью команды:
Где folder_name — имя удаляемой папки. Ключ —r делает рекурсивное удаление, то есть удаляет папку со всеми вложенными в неё папками и файлами.
Как изменить права на файлы и папки по SSH?
Чтобы настроить права доступа к отдельному файлу:
Где /var/www/file_name — полный путь до вашего файла (/полный-путь-до-корневой-папки-сайта/сам-файл).
Готово! Права на файлы/папки будут изменены.
Чтобы рекурсивно настроить доступ ко всем папкам и файлам на вашем сайте:
Где dir_name — полный путь до корневой папки сайта (Как узнать корневую папку сайта?).
Первая команда изменит права для всех директорий внутри указанной на 755. Вторая — для файлов внутри указанной директории на 644.
Готово! Права на файлы/папки будут изменены.
В качестве альтернативного способа вы можете использовать команду, чтобы сначала задать права всем файлам:
А затем назначить права 755 только на папки:
Где dir_name — полный путь до корневой папки сайта (Как узнать корневую папку сайта?).
С помощью защищенного протокола SSH администраторы подключаются к своим серверам для безопасной работы. Рассмотрим особенности этого протокола подробнее:
Что такое SSH-протокол
SSH-протокол (от англ. Secure Shell) — криптографический сетевой протокол, предназначенный для удаленного доступа к операционной системе и осуществления безопасного удаленного управления в рамках незащищенной сети (например, через интернет).
SSH обеспечивает защищенный канал связи между клиентом и сервером, через который можно передавать данные (почтовые, видео, файлы), работать в командной строке, удаленно запускать программы, в том числе графические. SSH-сервер должен быть установлен на удаленной операционной системе. SSH-клиент должен быть запущен на машине, с которой будет осуществляться удаленное подключение.
Основные функции, доступные при использовании SSH-протокола:
- Передача любых данных через защищенное SSH-соединение, включая сжатие данных для последующего шифрования.
- X11 Forwarding — механизм, позволяющий запускать программы UNIX/Linux-сервера в виде графической оболочки, как в Windows (использовать X Window System).
- Переадресация портов — передача шифрованного трафика между портами разных машин.
Безопасность SSH-соединения обеспечивается:
- шифрованием данных одним из существующих алгоритмов
- аутентификацией сервера и клиента одним из нескольких доступных методов
- наличием дополнительных функций протокола, направленных на предупреждение различных хакерских атак
Аутентификация сервера дает защиту от:
- взлома путем подмены IP-адресов (IP-spoofing), когда один удаленный хост посылает пакеты от имени другого удаленного хоста
- подмены DNS-записей (DNS-spoofing), когда подменяется запись на DNS-сервере, в результате чего соединение устанавливается с хостом, который указан в подмененной записи, вместо необходимого
- перехвата открытых паролей и других данных, передаваемых в открытом виде через установленное соединение
На сегодняшний день существуют две версии протокола SSH (SSH-1 и SSH-2), причем вторая версия усовершенствована и расширена по сравнению с первой. Например, вторая версия устойчива к атакам вида MITM («человек посередине», атака посредника). Также существуют две редакции данного протокола: открытая версия (бесплатная) и коммерческая (платная). Бесплатная версия — OpenSSH — встроена во все UNIX-подобные операционные системы в виде стандартных утилит SSH-клиента и SSH-сервера.
Коммерческая реализация SSH-протокола — SSH Communications Security — разработана одноименной организацией. Имеет небольшие отличия от бесплатной версии, такие как доступность коммерческой технической поддержки, наличие инструментов веб-управления и др. Основной набор команд и возможностей практически одинаковый у обоих продуктов.
Для ОС Windows выпущены различные SSH-клиенты и оболочки, самые распространенные из них — это бесплатные PuTTY и WinSCP . Для других операционных систем также существуют свои SSH-клиенты.
Передача данных по SSH-протоколу через небезопасную сеть
Что такое SFTP-протокол
SFTP-протокол (от англ. SSH File Transfer Protocol) – сетевой протокол прикладного уровня, предназначенный для передачи файлов и других действий с ними через имеющееся надежное соединение. Протокол был разработан как расширение SSH-2, предназначенное для операций с файлами по защищенному каналу, однако может работать и с другими протоколами, обеспечивающими безопасное соединение сервера с клиентом. Иными словами, для надежной работы через SFTP-протокол необходимо иметь установленное защищенное соединение (например, SSH), которое проводит аутентификацию клиента и сервера и устанавливает факт их надежности, поскольку сам SFTP-протокол не проводит аутентификацию и не обеспечивает безопасность.
SFTP имеет ряд преимуществ перед своими предшественниками — FTP и SCP — таких, как прерывание передачи файла, удаление, возобновление передачи, связь переданных файлов с основными атрибутами, например, меткой даты/времени, а также более высокая платформонезависимость.
SFTP-протокол реализуется через SFTP-сервер и SFTP-клиент, которые являются подсистемами OpenSSH.
Для чего используются SSH и SFTP протоколы
Чаще всего протоколы SSH и SFTP используются для удаленной работы с операционной системой или переноса большого количества файлов.
Например, клиент берет в аренду сервер или какую-то часть серверного пространства. Возникает необходимость переносить туда уже имеющиеся данные клиента, например, сайт или почтовые файлы. Провайдер должен обеспечить надежность и быстроту обмена данными с его сервером, особенно если речь идет о больших объемах информации и ее высокой конфиденциальности. В этом случае на удаленной машине (в данном случае — виртуальном сервере) устанавливается SSH-сервер (со встроенным SFTP-протоколом), а на клиентском компьютере — SSH-клиент. Создается SSH-туннель, и обмен данными между клиентом и удаленным сервером осуществляется через надежное соединение со всеми преимуществами протокола, описанными выше.
Также SSH может использоваться для удаленной работы по защищенному соединению с различными сервисами провайдера, такими как программное обеспечение, операционные системы и т.д.
Как работает SSH
По протоколу SSH работает набор программ, служащих для выполнения различных действий на удаленной операционной системе. Например, программа sshd обеспечивает серверную функциональность SSH, она должна быть запущена на SSH-сервере. Программа ssh запускается на SSH-клиенте и позволяет устанавливать соединение с удаленным хостом, регистрироваться на нем, работать с удаленной машиной через SSH-соединение.
Для запуска тех или иных программ SSH-протокола существуют специальные команды с набором различных опций. Эти команды могут отличаться в зависимости от используемой клиентской операционной системы и оболочки SSH-клиента. Команды запускаются либо из командной строки, если речь идет о UNIX-подобных системах, либо посредством графического интерфейса в соответствующих SSH-оболочках.
Как подключиться по SSH
Если на вашем компьютере установлена ОС Windows, а на удаленной машине UNIX-подобная система (например, Linux), то для установки SSH-соединения можно использовать PuTTY. Это бесплатная программа под Windows состоит из одного запускаемого файла и не требует инсталляции.
Чтобы установить соединение при помощи PuTTY, необходимо проделать следующие действия.
Запустить PuTTY ( putty.exe ).
По умолчанию никаких дополнительных настроек проводить не нужно, можно убедиться, что указан 22-й порт и тип соединения Connection type — SSH. В поле Host Name (or IP address) нужно ввести имя удаленного компьютера или его IP-адрес и нажать кнопку Open .
Может появиться предупреждение системы безопасности PuTTY, однако если есть уверенность в том, что хост достоверен, то нужно нажать Да и продолжить соединение.
В появившейся командной строке нужно ввести имя пользователя, под которым будет выполняться вход на удаленный компьютер.
В следующей строке нужно ввести пароль для данного пользователя. При вводе пароля никакие символы в командной строке не отображаются, поэтому необходимо просто набрать пароль и нажать клавишу ввода (Enter). Если введены неправильные имя пользователя и пароль, то выведется ошибка « Access denied », в случае успешного подключения предоставляется командная строка удаленного компьютера.