SSH – это защищенный сетевой протокол передачи данных. Текущая версия была выпущена еще в 1996 году и с тех пор не претерпела значительных изменений. Большинство используют бесплатную версию SSH с открытым исходным кодом (OpenSSH), хотя вообще протокол - коммерческий проект.
SSH ценится пользователями за простоту, универсальность и надежную защиту. Протокол шифрует все передаваемые данные (есть возможность использовать разные типы шифрования), так что перехватить передачу или подключиться к сессии практически невозможно.
Внутри SSH можно "завернуть" любой другой тип протокола, поэтому он позволяет передавать даже файлы большого объема, аудио, видео и т. д.
Подключение к удаленному серверу по SSH
Именно по SSH чаще всего удаленно управляют сервером – это безопасно, быстро и удобно в любой ОС. Можно создавать и удалять файлы и директории, загружать и скачивать файлы, архивировать данные.
SSH работает как клиент-серверное приложение. Серверная часть обычно по умолчанию включена в любую серверную ОС, а на устройстве пользователя отдельно устанавливается программа-клиент SSH. Для коннекта по протоколу SSH стандартно используется 22-й порт, но есть возможность его поменять.
При создании соединения протокол SSH идентифицирует пользователя клиентского приложения; это может быть:
- проверка с помощью логина и пароля (причем пароли также передаются в зашифрованном виде). Самый распространенный метод аутентификации;
- идентификация с помощью ключа – считается наиболее надежным способом;
- проверка по IP – ненадежный метод.
Подключение по SSH из ОС семейства Linux
В операционных системах Linux есть встроенный терминал, с помощью которого можно подключиться по SSH к серверу. Для его вызова нужно нажать сочетание клавиш Ctrl+Alt+T.
Далее наберите в терминале строку вида
ssh user_login@111.222.333.444
где:
- user_login – ваш логин на сервере;
- 111.222.333.444 – IP-адрес сервера.
После этого в окне терминала появится запрос подтверждения подключения (наберите yes) и запрос пароля – наберите пароль и нажмите Enter.
Если все введено корректно, откроется соединение по SSH.
Подключение из Windows
Для создания соединения с сервером по SSH в Windows используется утилита PuTTY. Это простой исполняемый файл, который не требует установки.
- Скачайте и запустите PuTTY.
- В основных настройках программы укажите IP-адрес сервера в поле Host Name.
- Проверьте, чтобы было выставлено соединение по SSH и правильный номер порта.
- Нажмите Open.
- По запросу программы ведите свой логин, а потом пароль. Ввод пароля не отображается – это нормально.
- Если все введено правильно, откроется подключение по SSH.
Можно ли зарегистрировать для подключения по SSH еще один логин?
Зайти на сервер по SSH можно, только используя ваш логин и пароль доступа к аккаунту хостинга. Дополнительного пользователя создать нельзя.
Можно ли запретить доступ по SSH
Отключение доступа проводится через техподдержку хостинга. Напишите в техподдержку и попросите отключить доступ по SSH.
Архивация и разархивация файлов (папок) по SSH
Архив может быть создан в наиболее распространенных форматах для ОС семейства Линукс (tar.gz) или же Windows (zip).
Чтобы заархивировать папку или файл по SSH в формате tar.gz,
подключитесь к серверу по SSH и вызовите утилиту tar с параметрами архивирования:
tar -czvf имя.tar.gz путь/папка/
где:
- czvf – опции архивирования ( в данном случае c – команда создать архив, z – указание на архивирование со сжатием с помощью qzip, v – указание визуализировать процесс архивации, и f – функция архивации;
- имя – это имя вашего будущего архива;
- tar.gz – расширение файла архива
- путь/папка/ – путь к папке, которая будет заархивирована
Чтобы разархивировать полученный файл, пропишите команду
tar -xzvf имя.tar.gz
где:
- x в опциях архивации – команда разархивировать;
- имя.tar.gz – имя файла архива, который будет разархивирован.
Чтобы создать архив формата zip по SSH,
потребуется запустить программу zip с параметрами:
zip -r name.zip /path/folder/
где:
- -r – команда на архивацию всей папки;
- name.zip – имя вашего будущего архива;
- /path/folder/ – путь к папке, которую будем архивировать.
Обратный процесс в SSH запускается с помощью строки
unzip name.zip
где name.zip – имя файла архива, который будем разархивировать.
Создание новых директорий и удаление папок по SSH
После установления соединения по SSH с сервером наберите в терминале SSH:
mkdir новая-папка
где:
- mkdir – команда создания папки;
- новая-папка – имя, которое вы присваиваете новой папке.
Папка будет создана в той директории, где вы сейчас находитесь. Чтобы перейти в нужную директорию перед созданием папки, используйте команду SSH – cd.
Удаление папки в SSH задается командой:
rm -r folder-name
Параметр -r в команде задается для того, чтобы папка была удалена вместе со всеми вложенными папками и файлами.
Как менять права на файлы и папки по SSH
Напомним, что права доступа к файлам и папкам на сервере через SSH удобнее всего задавать в виде числового сочетания XYZ, где X – права доступа владельца папки (файла), Y – права доступа группы пользователей, Z – права всех остальных.
Права задаются цифрами: например, 0 означает никаких прав, 5 – только чтение и исполнение, 7- полные права и т. д.
Команда изменения прав в SSH для отдельного файла выглядит так:
chmod 750 /var/www/file
где:
- chmod – собственно команда смены прав;
- 750 – числовое кодирование прав. В данном случае вы даете полные права владельцу (7), право только на чтение и исполнение для группы (5) и никаких прав всем остальным (0);
- /var/www/ – полный путь к вашему файлу;
- file – имя файла.
Если вы устанавливаете по SSH права для папки, то команда аналогична. При этом, если вы хотите установить такие же права не только для самой папки, но и для файлов и вложенных директорий в ней, к команде нужно добавить ключ -r:
chmod -r 750 /var/www/folder
Как задать права доступа ко всем файлам и папкам одновременно
Менять права на каждую директорию долго и неудобно. Поэтому права для всех папок и файлов в SSH можно задать двумя командами:
-
- find /root-folder -type d -exec chmod 750 {} \
- find /root-folder -type f -exec chmod 644 {} \
Первая строка ищет (команда SSH – find) в корневой директории (на месте /root-folder указываете свою корневую директорию) все папки (для поиска указан type d – директория), после чего меняет у всех найденных папок права на 750.
Вторая строка аналогично ищет все файлы (указан -type f ) и меняет у них права на 644 (чтение и запись у владельца, у групп и остальных – только чтение).