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

SSH — зашифрованный протокол для удаленного управления серверами. Для подключения через него вы можете каждый раз вводить пароль или настроить авторизацию по ключу. Второй вариант безопаснее, но у него есть свои особенности. В этой статье мы рассмотрим оба метода подключения, а вы уже сами выберите, какой способ удобнее.

Проверка службы SSH на сервере

Доступ по SSH обычно можно включить при создании сервера или во время настройки конфигурации. Убедиться в том, что он разрешен, можно через консоль. Она доступна в панели управления сервером.


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

Важно: в целях безопасности при вводе пароля на экране не отображаются никакие символы, даже привычные звездочки.

После авторизации в консоли можно проверить, запущена ли служба SSH на сервере.


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

Если служба не активна, добавьте ее самостоятельно. Выполните команду sudo apt install openssh-server и подтвердите установку пакетов.

Кроме того, для подключения вам может понадобиться настройка брандмауэра. Чтобы межсетевой экран не блокировал входящие соединения, можно на время отключить его командой sudo ufw disable.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подключение на Windows

Моя основная система — Windows. Раньше для подключения к серверу через SSH я пользовался сторонней утилитой PuTTY, потому что в операционной системе не было встроенного компонента. В «десятке» он появился, так что теперь можно подключаться к SSH через командную строку (cmd).

Чтобы включить встроенный в систему OpenSSH:


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

После выполнения команды клиент SSH предложит добавить устройство в список известных. Введите в командной строке yes и нажмите на Enter. Затем укажите пароль для доступа к серверу. На этом подключение к серверу через SSH завершено — теперь все команды будут выполняться на удаленной машине, к которой вы подключились.

На версиях младше Windows 10 1809 нет встроенной поддержки протокола OpenSSH. В таком случае понадобится сторонняя утилита. Смотрим, как через PuTTY подключиться по SSH:


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

Подключение на Linux и macOS

Теперь посмотрим, как подключиться по SSH через терминал на Linux. Для этого не требуется установка дополнительных компонентов, все работает «из коробки».

На этом подключение завершено. Теперь все команды, которые вы вводите в терминале, будут выполняться на удаленной машине.

Цифра 22 в синтаксисе — номер порта. Если вы используете другой порт, то укажите его явно.


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

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

Ввод пароля для подключения через SSH — раздражающая процедура. У меня почти никогда не получалось ввести его правильно с первого раза. Поэтому я начал искать информацию о том, как подключиться к серверу через SSH без пароля. Простое и безопасное решение — использование ключа. Почему это безопаснее? Потому что пароль можно подобрать. Чтобы исключить такую вероятность, многие пользователи выбирают авторизацию с помощью ключа.

Суть процедуры в формировании двух ключей: публичного и приватного. Первый копируется на сервер, а второй остается на компьютере пользователя и не передается по сети. В таком случае пароль при подключении не требуется. Когда вы подключаетесь к серверу через SSH, публичный ключ взаимодействует с приватным и открывает доступ к удаленному управлению.

Генерирование ключа и подключение на Windows

Для удобства используем программу PuTTy. Вместе с ней устанавливается утилита PuTTYgen — в ней можно сгенерировать публичный и приватный ключи.


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

Теперь нужно перенести публичный ключ на сервер. Запустите программу PuTTY и подключитесь к серверу с помощью пароля. Затем последовательно введите следующие команды:

chmod 0700 ~/.ssh

chmod 0644 ~/.ssh/authorized_keys

Эти команды создают на сервере папку и файл для хранения ключей, а также ограничивают к ним доступ — получить его может только владелец.

Вернитесь в настройки PuTTY. Перейдите в раздел Connection — SSH — Auth. Нажмите на кнопку Browse и укажите путь к приватному ключу, который вы ранее сохранили на жестком диске.


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

Генерирование ключа и подключение на Linux и macOS

Теперь посмотрим, как подключиться через SSH ключи на Linux и macOS.

Генератор предложит также задать кодовую фразу для ключа. Это дополнительная мера безопасности: если кто-то получит доступ к вашей локальной машине, то все равно не сможет подключиться к серверу через SSH. Минус один — вам тоже придется постоянно вводить ключевую фразу. Можно отказаться от этой меры защиты, просто нажав на клавишу Enter.

На этом процедура создания ключей завершена. Файлы d_rsa (приватный ключ) и id_rsa.pub (публичный ключ) хранятся в папке ~/.ssh/.  Осталось скопировать открытую часть ключа на сервер.

Отключение запроса пароля

Суть приватных ключей в том, что они хранятся на локальных компьютерах. Если вы попытаетесь подключиться к серверу с другой машины, на которой нет ключа, то снова увидите запрос на ввод пароля. Чтобы авторизоваться можно было только по ключу, запретите использование пароля.

Авторизация по паролю отключена. Теперь подключиться к серверу можно только с помощью пары ключей.

В последних версиях популярных браузеров (Chrome, Opera, Edge, Яндекс. Браузер) поддержка FTP отключена. Подключиться по FTP можно другим способом. Для этого используйте инструкцию ниже.

В статье мы расскажем, что такое FTP, как подключиться к FTP серверу и как загрузить файлы сайта на сервер.

FTP (File Transfer Protocol) — это базовый протокол передачи файлов между компьютерами по локальной сети и интернету. С его помощью можно подключиться к FTP-серверам, просматривать содержимое их каталогов и загружать файлы с сервера или на сервер.

Доступ по FTP доступен для всех хостинг панелей. Также вы можете использовать бесплатный хостинг для сайтов html (тестовый период — 14 дней).

Для подключения по FTP нужны специальные программы — FTP-клиенты. В этой статье мы расскажем про подключение и работу по FTP на примере FTP-клиента FileZilla.

Как подключиться через FTP

Настройте FTP-клиент FileZilla по инструкции:

Готово, вы настроили FTP-клиент и теперь вы можете загрузить сайт на хостинг через FileZilla.

Особенности работы с FTP:

Работа с файлами по FTP

Как попасть на FTP-сервер, описано в инструкции выше. Теперь расскажем, как начать работу в FTP-клиенте FileZilla после подключения.

При подключении вы увидите разделённое пополам окно: слева — папка вашего локального ПК, справа — домашняя папка хостинга. Чтобы управлять папкой или файлом, кликните по нему правой кнопкой мыши:


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

Как закачать файлы на сервер

Чтобы загрузить сайт на хостинг через FTP, все файлы сайта необходимо размещать в каталог сайта. Определить нужный каталог вам поможет инструкция: В какой каталог нужно загружать файлы моего сайта.

В строке «Удаленный сайт» укажите путь до корневой папки сайта. В окне слева кликните правой кнопкой по нужной папке на локальном ПК и выберите Закачать на сервер:

Как залить сайт на хостинг через FileZilla

Как изменить права доступа к файлу или папке

Чтобы изменить права доступа, кликните правой кнопкой по нужной папке/файлу на хостинге (окно справа) и выберите Права доступа к файлу:


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

В открывшемся окне назначьте права: установите галочки напротив нужных пунктов и укажите числовое значение. Чтобы рекурсивно изменить права, выберите опцию Перенаправить во вложенные каталоги — Применить только к каталогам:


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

Как переименовать файл на хостинге

Кликните правой кнопкой по файлу на хостинге (окно справа) и выберите Переименовать:


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

Готово, вы подключились по FTP и загрузили файлы сайта на хостинг.

Если вам нужно добавить дополнительного пользователя или сменить пароль, обратитесь к инструкции: Работа по FTP: аккаунты и пароли. Если при работе по FTP у вас возникнут сложности, поможет статья: Ошибки при работе с FTP.

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

Важно: соединение по SFTP возможно только для основного аккаунта хостинга (вида u1234567) на всех тарифных планах, кроме Host-Lite и услуг с Windows-хостингом.

Для подключения по протоколу SFTP мы рекомендуем использовать клиент FileZilla (файл зила):

Готово, вы подключились по протоколу SFTP.

SSH — это протокол для установки связи между PC и сервером. Команды SSH, или как их еще называют «команды для PuTTY», — это инструкции для управления различными функциями сервера. С технической точки зрения, это примерно то же самое, что управлять компьютером на базе Linux через терминал. Принципиальное отличие лишь в том, что для управления сервером сначала нужно установить с ним дистанционное соединение, а уже потом переходить к работе. На локальной «машине» этот этап можно пропустить. Но речь не о ней, и мы снова возвращаемся к SSH.

:/>  Установка windows 7 с диска через биос на компьютере

Еще раз отмечу, что речь идет о подключении к серверу на базе Linux, и все описываемые ниже утилиты работают именно на нем.

Подключение к серверу через SSH

Мы уже выяснили, что представляет собой SSH и команды для него. Теперь установим соединение с сервером.

Естественно, перед началом надо арендовать виртуальный хостинг или VDS у одного из доступных провайдеров. У Timeweb, к примеру.

Если у вас macOS или Linux

Все. Соединение установлено, можно переходить к работе непосредственно с сервером.

Если у вас Windows


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

Управление протоколом SSH

У команды для подключения к удаленному PC по SSH есть две важных опции:

Работа с командной строкой, горячие клавиши и дополнительные символы

Базовые методы управления текстом в терминале.

clear — удаляет из текущий сессии терминала все ранее выведенные в него данные, содержимое открытых документов и историю использованных команд. Используется, когда нужно четко лицезреть вывод конкретной операции.

history — показывает ранее использованные приложения и инструменты. Без дополнительных аргументов отображает 10 элементов. Но их количество можно изменить вручную, добавив к слову history любое число. history 13, к примеру.


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

whatis — дает однострочную справку к любой из установленных программ. Принцип работы следующий: вводим слово whatis, а за ним следом название приложения, о котором хотим узнать. Например, чтобы узнать о том, что такое nano, введем в терминал: whatis nano.

man название пакета — открывает документацию к любой из установленных программ. В ней можно посмотреть, какие функции есть у приложения, как им пользоваться, какие могут возникнуть проблемы.

Не совсем команды, но тоже текстовые элементы, причем полезные.

; — разделитель, необходимый, чтобы активировать сразу несколько команд подряд. Это выглядит так: cd ~/Documents; mkdir Novaya_papka; rmdir Staraya-papka. Команды будут выполняться друг за другом независимо от результата выполнения каждой из них.

&& — то же самое, что и ;, но с важным нюансом. Команды, соединенные с помощью &&, будут выполняться друг за другом, только если предыдущая завершилась успешно. Синтаксис аналогичный:

sudo apt-get update && sudo apt-get install wget

~ — сокращение от /home/имя учетной записи/. Часто фигурирует в инструкциях.

Парочка полезных сочетаний клавиш.

Стрелка вверх — показывает предыдущую команду.

Ctrl+C — прерывает запущенный процесс.

Ctrl+A — перемещает курсор в начало строки.

Ctrl+E — перемещает курсор в конец строки.

Сетевые функции и параметры сервера

Утилиты и инструменты для вебмастеров и администраторов.

apachectl startssl — запускает сервер Apache (если вы его используете, конечно).

apachectl stop — выключает Apache.

apachectl restart — перезапускает Apache.

/usr/local/etc/rc.d/mysql-server restart — активирует скрипт перезапуска системы MySQL.

mysqldump -u имя учетной записи -p пароль от учетной записи -D название базы данных < путь до базы данных — создает резервную копию выбранной базы данных.

mysql -u имя учетной записи -p пароль от учетной записи -D название базы данных < путь до базы данных — импортирует выбранную базу данных в базу данных на MySQL на указанном сервере.

w — показывает, сколько людей вошли в систему и другие полезные данные. Текущее время в часовом поясе сервера, его аптайм (то есть время работы без сбоев с последней перезагрузки) и как долго каждый из вошедших аккаунтов находится в системе.


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

ps — вводится вместе с аргументом -e для распечатки в терминал информации обо всех запущенных процессах вместе с их PID-кодами. Обычно активируются в тандеме с grep. К примеру, чтобы найти запущенный текстовый редактор vi, вводим:

top — программа, отображающая информацию о запущенных процессах. Сколько памяти они занимают, какую нагрузку дают на процессор, какой у них PID-код и время работы каждого. Это что-то в духе диспетчера задач в Windows.

kill — завершает один процесс (указывается с помощью PID-кода). kill работает следующим образом: сначала вписываем саму команду, а потом PID-код программы, которую нужно закрыть. Покажу на примере. Я хочу выключить проигрыватель Spotify, который работает в фоновом режиме. Диспетчер задач top говорит, что PID Spotify равняется 6199. Соответственно, чтобы его выключить, надо ввести в терминал:

Важно отметить, что каждый kill отправляет процессу определенный сигнал. По умолчанию это SIGTERM. Такой сигнал разрешает программе завершить начатые дела, сохраниться и только потом выключиться. Но если указать вручную сигнал SIGKILL, то приложение прекратит работу моментально, не сохраняя какой-либо прогресс.

killall — отличается от kill тем, что может «убить» программу, даже не зная ее PID. Все, что нужно killall — название утилиты. Он также поддерживает различные типы сигналов вроде SIGTERM и SIGKILL. А еще он забирает с собой все зависимые процессы.

uptime — выводит в терминал данные о том, как долго ваш сервер находится в рабочем состоянии без перезагрузок. Подобную информацию отображают и другие утилиты. Например w, но здесь фокус сделан только на аптайме.

ping — рассказывает, может ли ваш сервер «достучаться» до другого сервера (указывается в команде с помощью адреса или доменного имени). Синтаксис такой: ping адрес сервера, соединение с которым надо проверить. Например, чтобы проверить статус подключения к Timeweb, введем в терминал: ping timeweb.com, а к официальному сайту Apple — ping apple.com.

traceroute — аналог Ping, но более сложный. Программа показывает доступные варианты настройки при первом запуске. Параметры там не из простых, поэтому traceroute больше подходит опытным вебмастерам и администраторам.

dig — показывает DNS-серверы, связанные с конкретным доменным именем. Например, я хочу посмотреть DNS-серверы официального сайта Apple. Для этого введу в терминал: dig apple.com. Для других ресурсов остается поменять доменное имя.


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

telnet — альтернативный протокол связи между серверами, который используется вместо SSH.

nethogs — простейшая текстовая программа для отлавливания процессов, которые расходуют избыточное количество трафика. Примечательна своим методом сортировки. В расчет идет не отдельная единица передаваемой информации, а программы по списку, от наиболее затратных до наиболее щадящих к трафику. Позволяет выбрать отдельный сетевой интерфейс через опцию -i.

time — как ни странно, отображает вовсе не время. Вернее время, но не в плане часов, а в плане временных затрат на исполнение какой-либо задачи. По сути, вычисляет, как долго длится запуск выбранной программы. Чтобы ее запустить, пишем: time команда, скорость исполнения которой надо проверить. time может быть полезна для разработчиков, тестирующих свои продукты и пытающихся достичь наименьшего времени запуска.

nc — сокращение от netcat. Это настоящий комбайн для работы с сетью. Проще сказать, что эта утилита не умеет, чем перечислить ее возможности. Люди используют ее для передачи данных с одного сервера на другой, наблюдают за сетевыми портами и меняют их параметры, запускают полноценные часты без графической оболочки на базе netcat. Даже разворачивают простенькие веб-серверы аналогичным образом. Продукт громоздкий, универсальный и требующий тщательного ознакомления с официальной документацией. По-другому не разобраться.

:/>  «Управление дисками с помощью cmd и DISKPART — администрирование дисков, томов и разделов с помощью командной строки Windows»

netstat -lptnu — отображает «слушающие» сетевые порты TCP, UPD и PID-код процессов, слушающих эти порты.

reboot — перезапуск сервера целиком. Речь идет о выключении и повторном включении удаленного PC. Альтернативой может послужить shutdown -r. Часто вместо этих команд используют специальную кнопку в панели управления хостингом. Для начинающих вебмастеров это более удобный и безопасный метод перезагрузки удаленного «железа».

ip — еще один мультитул. Выполняет сразу много задач в зависимости от подобранных опций. Не стану описывать каждую из них. Акцентирую внимание лишь на нескольких популярных и дающих понять, какие возможности дает команда ip.

Работа с текстом

Парочка полезных команд для взаимодействия с любыми видами текстов на сервере через SSH.

cat — показывает текст из выбранного файла. В качестве аргумента передаем этой утилите текстовый документ, и cat выведет в консоль его содержимое. Синтаксис:

cat путь до файла, содержимое которого надо осмотреть

Чтобы взглянуть на содержимое файла timeweb.txt, который лежит на рабочем столе, напишем в терминал:

head — это «голова». Она работает по схожему с cat принципу. Отображает текст из файлов, где он имеется. Разница заключается в количестве отображаемого контента. Пользователь сам выбирает, сколько строчек текста вывести на экран, поставив аргумент -n. Команда head -n 4 ~/Documents/timeweb.txt покажет только первые четыре строки документа timeweb.txt из папки Documents.


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

tail — это «хвост». Работает, как head, но с противоположной стороны. Команда tail -n 8 ~/Documents/timeweb.txt покажет только первые восемь строк документа timeweb.txt из папки Documents.

touch — одна из множества команд для SSH, которую используют не по назначению. У нее весьма специфичная задача по изменению времени последнего открытия отдельных элементов файловой системы. Но ее быстро перепрофилировали чуть ли не в стандартный метод создания файлов. touch ~/Desktop/timeweb.html создаст HTML-документ с именем Timeweb на рабочем столе.

vi — используя с дополнительными аргументами, можно создавать новые текстовые файлы. Например vi /путь до директории, где нужно создать новый текстовый файл/. Или же редактировать уже существующие. Чтобы изменить содержимое какого-нибудь файла в домашней папке, надо ввести: vi /home/имя учетной записи/kakoy-to-tekstoviy-file.txt. Альтернативой vi может служить nano. Более современный и лояльный к новичкам редактор. К сожалению, может отсутствовать в системе по умолчанию и требовать установки.

wc путь до файла — показывает количество символов, количество строк и слов в выбранном текстовом документе.

diff — сравнивает два файла и наглядно показывает строки, в которых обнаружились различия. Синтаксис: diff название первого файла название второго файла. Это может выглядеть так:

diff timeweb-1.html timeweb-2.html

Навигация и управление файловой системой

Команды, необходимые для перемещения и ориентирования в файловой системе сервера. А еще для перемещения, копирования и удаления файлов. В общем, все, что вы делали бы в файловом менеджере, но через терминал.

cd — отправляет вас в любую папку на выбор. Синтаксис: cd путь до нужной директории. Если хочется на рабочий стол, то пишем: cd ~/Desktop. Вернуться в предыдущую папку? cd-. Перепрыгнуть в home? Просто вводим: cd без аргументов.

ls — отображает директории и файлы вокруг вас. То есть в той папке, где вы находитесь на текущий момент. Но чтобы ею пользоваться, необязательно переходить в конкретную директорию. Ее можно указать заранее. Вот так:

pwd — укажет путь до папки тем, кто заблудился. Если вы находитесь в папке Документы, то вывод pwd будет выглядеть вот так /home/имя пользователя/Documents. И так для любого каталога, в котором вы окажетесь.

file — покажет, что собой представляет файл. Фишка утилиты в том, что она демонстрирует разную информацию для разных типов файлов. К примеру, может дать подробные EXIF-данные для фотографий, включая разрешение и битность изображения.

mv — изначально использовалась для того, чтобы перемещать файлы из одного места в другое. mv ~/Desktop/timeweb.html ~/Documents переносит HTML-документ Timeweb с рабочего стола в документы. Но пользователи приноровились использовать mv для смены имени файлов. mv ~/Desktop/timeweb.html timeweb-2.html оставляет документ на месте, но меняет его название.

cp — создает копию выбранного файла в другом каталоге. cp ~/Documents/timeweb-file.txt /home/Webmaster/Desktop копирует документ с названием timeweb-file.txt на рабочий стол того же пользователя.

dd — управляет разделами. С ее помощью можно делать копии разделов: dd if=/dev/sda of=/dev/sdb. Можно перемещать разделы. Удалять их без возможности восстановления: dd if=/dev/zero of=/dev/sdX (в качестве раздела для «уничтожения» тут указана флешка). Копирование разделов подразумевает их запись на сторонние носители. Например, запись iso-образов на внешние накопители: dd if=~/Desktop/fedora-14.6.iso of=/dev/sdX bs=4M. if здесь — это путь к образу, а of — путь к смонтированному разделу (флешке).

rm — удаляет папки и все, что сможет в них найти. « Уничтожает» все субдиректории, документы, картинки, медиа. Вообще все, без возможности восстановления. Синтаксис:

rm путь до каталога, который надо вычистить вместе со всеми «внутренностями»

mkdir — создает новую папку. Синтаксис: mkdir путь_до каталога,_где_нужно_создать_новую_директорию название_для_этой директории. Если надо сделать на рабочем столе папку Timeweb, то пишем:

rmdir — удаляет директории. Не имеет права трогать их содержимое, поэтому отзовется ошибкой, если в удаляемой папке найдутся еще какие-то элементы. Перед использованием rmdir объект надо очистить.

zip — архивирует один или несколько файлов один файл в формате .zip. Синтаксис: zip название архива.zip путь до файла, который надо упаковать. К примеру:

zip noviy-archive.zip /home/me/soderzhimoe-archiva.txt

unzip — вытаскивает содержимое архива наружу. Работает по тому же принципу: сначала команда, потом путь до архива, который надо распаковать. Еще можно добавить опцию -d, чтобы удалить файлы из архива по завершении распаковки.

find — ищет файлы и папки по всей файловой системе. Умеет находить их по названию и по типу, но это зависит от выставленных опций. find -type d -name Timeweb будет искать только директории с именем Timeweb.

mount — монтирует образ или раздел диска. Синтаксис:

mount путь до раздела, что нужно смонтировать

unmount — «демонтирует» образ или указанный раздел. Синтаксис:

unmount путь до раздела, что нужно отмонтировать

Системные компоненты и данные

Утилиты, делящиеся разного рода справочной информацией с администратором компьютера.

df — отображает количество свободного пространства на жестком диске. Правда, в неудобном формате, в виде блоков. Поэтому обычно эту утилиту используют вкупе с опцией -m, чтобы конвертировать данные в привычные и удобоваримые мегабайты.


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

du — показывает, сколько весит конкретный элемент файловой системы. Чтобы узнать, сколько места занимает timeweb.html на моем рабочем столе, введу в терминал следующее: du ~/Desktop/timeweb.html. По пути столкнусь с той же проблемой, что сталкивался при работе с df. Опять эти блоки. Меняем на мегабайты с помощью ключа -h. Получится du -h ~/Desktop/timeweb.html

free — это df для оперативной памяти. Показывает, сколько свободно и сколько используется.

uname — рассказывает подробности о системе. Обычно используется с аргументом -a, чтобы вывести сразу все данные, включая время и разрядность установленной операционной системы. А вообще можно по отдельности доставать что-то конкретное – имя ядра через опцию -s, имя ноды через опцию -n, тип процессора через опцию -p.

:/>  Как отправить электронную почту с помощью power shell


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

date — показывает дату и время, как uname. Только с фокусом на конкретной информации и без необходимости использовать дополнительные опции. Но при желании формат даты и времени можно строго задать вручную.

cron — планировщик задач. Используется, чтобы задать конкретную дату и время для выполнения скриптов и запуска команд. Настраивается в панели управления хостинга.

Управление пользователями

Так как Linux заточена под использование большим количеством людей одновременно, разработчики придумали для нее продвинутую иерархию пользователей. У каждого свой набор прав и свои возможности. И есть целый набор команд для работы с ними. Рассмотрим главные.

passwd — задает пароль для учетной записи. Работает вкупе с предыдущей командой. То есть сразу после создания аккаунта, пишем: passwd имя новой учетной записи. После этого система попросит придумать и указать пароль для новой учетной записи.

Система безопасности в Linux не показывает во время ввода пароля даже звездочки, но это не значит, что он не вводится. Продолжайте набирать вслепую, а как закончите, нажмите Enter, и все сработает. И не бойтесь запутаться, вас попросят повторить придуманный пароль.

Редактирование прав

Все, что нужно для разрешения проблем, связанных с правами в Linux.

sudo — выдает права суперпользователя. Используется перед любой командой, если нужно выполнить ее от имени администратора. Многие программы и операции запускаются исключительно при наличии этих прав, так что sudo используется часто. Например, чтобы обновить список пакетов в Fedora, введем: sudo dnf update. При этом система запросит пароль администратора.

sudo su — на время превращает все вводимые в терминал команды в команды суперпользователя. Пригодится, если предстоит вносить много изменений в системные файлы, которые нельзя редактировать без соответствующих прав.

sudo !! — запускает предыдущую команду от имени администратора. Пригодится, если уже ввели команду, требующую прав суперпользователя, но забыли их затребовать. Не придется вводить весь текст заново. Достаточно сокращенной версии.

chmod — корректирует права доступа к выбранному файлу. Применяется исключительно с набором опций, обозначающих список прав. Допустим, я хочу выдать права на чтение и запись файла Timeweb.html на рабочем столе. Для этого введу в терминал: chmod 777 ~/Desktop/timeweb.html. Теперь его можно открывать и редактировать. Аналогичным образом пользователи поступают с системными файлами, когда приходит время что-то в них менять. По умолчанию большая их часть защищена от записи.

chown — назначает владельца для выбранной директории, документа, картинки или любого другого элемента в файловой системе. Синтаксис следующий: chown имя учетной записи, которому надо передать права путь до файла, права на который нужно передать. На примере этого может выглядеть следующим образом: есть пользователь Timeweb, которому я хочу передать права на файл timeweb-file.txt с рабочего стола. Сделаю это командой:

chown Timeweb ~/Desktop/timeweb-file.txt

Установка, обновление и удаление пакетов

В Linux почти все программное обеспечение имеет открытый исходный код, поэтому в большинстве своем распространяется через открытые репозитории. Для его загрузки и установки используются менеджеры пакетов. В каждом семействе дистрибутивов он свой.

Apt (в Debian, Ubuntu и им подобных)

sudo apt-get install название пакета — устанавливает пакет из подключенных репозиториев. Ищется по названию и версии.

sudo apt remove название пакета — удаляет из системы установленный пакет.

sudo apt purge название пакета — удаляет установленный пакет и вместе с ним уничтожает все зависимые данные. От приложения не остается никаких следов. Такой вариант подходит, когда нужна полная переустановка пакета «с нуля».

sudo apt autoremove — автоматически выполняет уборку среди установленных пакетов, убирая ненужные остатки кода.

sudo apt-add-repository адрес репозитория — подключает к системе дополнительный репозиторий с пакетами, не вошедшими в базу репозиториев по умолчанию. Требуется для установки некоторых редких open-source-приложений.

sudo apt-get update — обновляет информацию о пакетах, имеющихся в системе и тех, что хранятся в подключенных репозиториях.


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

sudo apt-upgrade — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

Dnf (в Red Hat Linux, CentOS, Fedora)

sudo dnf install название пакета — устанавливает программу на выбор.

sudo dnf config-manager –add-repo адрес репозитория — подключает к системе дополнительный репозиторий.

sudo dnf upgrade — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

sudo dnf remove название пакета — стирает с жесткого диска имеющийся в системе пакет.

sudo dnf autoremove — разыскивает мусор среди имеющихся пакетов и в автоматическом режиме вычищает его.

Pacman (в Arch Linux и Manjaro)

sudo pacman -S название пакета — устанавливает пакет на выбор.

sudo yaourt -S название пакета — устанавливает пакет на выбор из репозитория AUR.

sudo pacman -Sy — обновляет информацию о пакетах, имеющихся в системе и тех, что хранятся в подключенных репозиториях.

sudo pacman -Syu — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

sudo pacman -R название пакета — стирает с жесткого диска имеющийся в системе пакет.

sudo pacman -Rs название пакета — стирает не только установленное приложение, но и все зависимые от него элементы.

Алиасы

Алиасы — сокращенные формы команд. Заметно экономят время и улучшают восприятие. Особенно когда в алиасах прячутся громоздкие скрипты. backupmsql выглядит проще и легче запоминается, чем mysqldump -u имя учетной записи -p пароль от учетной записи -D название базы данных < путь до базы данных.

Процедура создания алиаса сводится к следующему синтаксису: alias сокращение=‘команда, которую надо сократить’

Например: alias supd=‘sudo apt-get update’. Теперь обновлять информацию о пакетах можно сокращенной версией команды.

Полезные алиасы

Далее последуют алиасы, которые часто используются начинающими линуксоводами и администраторами:

alias h=‘history’ — для вызова истории вводом одной буквы. Алиас можно немного усложнить, добавив какое-либо числовое значение. Допустим, сделать alias h25=‘history 25’, чтобы вывести в консоль сразу 25 предыдущих команд.

alias diff=‘colordiff’ — добавляет цвет, чтобы элементы сравнения легче было распознавать.

alias edit=’sudo nano’ — упрощает доступ к редактированию текста от имени администратора.

alias ping=‘ping -c 5’ — уменьшает количество пакетов, передаваемых через Ping, до 5 штук.

alias update=’sudo apt-get update && sudo apt-get upgrade’ — сокращение, помогающее сначала обновить информацию о пакетах, а потом установить свежие версии с помощью одной короткой команды вместо двух больших. Только в случае с другими дистрибутивами надо скорректировать обе, заменив наименования пакетных менеджеров. Для Fedora это будет dnf, к примеру.

Прочее

Это бонус для развлечения. Шутка от разработчиков Linux, не несущая пользы.


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

cowsay -l — демонстрирует всех животных, которые могут с вами пообщаться в том случае, если вам почему-то не приглянулась корова.

sudo название менеджера пакетов install fortunes fortune-mod fortunes-min fortunes-ru — учит животных говорить на русском.

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