Установка Arch Linux / BlackArch на VDS / VPS

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

Как установить сервер SSH в Astra Linux?

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

sudo apt install ssh

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

Типы правил

В iptables существует 3 типа правил — input, forward, output.

Input — Данная цепочка правил используются для контроля входящих соединений. Например, если пользователь пытается подключиться к серверу, то iptables сравнит его IP-адрес со своим списком, затем разрешит или ограничит доступ.

Forward — Цепочка правил этого типа используются для обработки входящих tcp/udp пакетов, адрес назначения которых находится “за” сервером. В качестве примера можно рассмотреть случай, когда сервер используется в качестве маршрутизатора. Частный случай — NAT и Port-Forwarding.

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

Специалисты условно делят режим работы любого межсетевого экрана на 2 типа — белый и черный.

Белый — запрещается весь трафик, кроме разрешенного.

Черный — разрешается весь трафик, кроме запрещенного.

Данная политика относится не только к IP-адресам устройств, но и к портам служб, а также обращениям некоторых IP-адресов к некоторым портам.

Чтобы было понятнее, не очень хорошо, когда порт SSH-службы доступен из сети Интернет. Это повлечет постоянные попытки подбора логина и пароля. Однако, вы можете запретить любой трафик на порт этой службы (по умолчанию, tcp — 22) тем самым отрезав себя от административного входа на сервер. Компромиссное решение — добавить блок IP-адресов с которых можно обращаться к серверу по SSH-протоколу.

По умолчанию, дистрибутив Ubuntu с предустановленным iptables, разрешает всё. Проверить это можно командой:

iptables -L | grep policy

Скриншот №1. Команда iptables -L | grep policy

Типы правил

После проверки поведения цепочек соединений и общего поведения межсетевого экрана можно приступить и ограничительным мерам. Для начала рассмотрим три основных действия с пакетами:

Accept — разрешает соединение;

Drop — Запрещает соединение, отбрасывает пакеты. При этом создается впечатление, что данный порт и не был открыт вовсе.

Reject — также запрещает соединение, но явно дает понимание, что порт защищен межсетевым экраном.

Читайте также:  Как установить Linux. Пошаговая инструкция

Важно понимать, что правила вносятся в соответствующую цепочку с соответствующей политикой для пакетов. Рассмотрим пример:

sudo iptables -A INPUT -s -j DROP

Данное правило запрещает все входящие соединения с адреса

Блокировка диапазонов адресов происходит по маске:

sudo iptables -A INPUT -s -j DROP

Также блокировка диапазон адресов можно заблокировать по префиксу сети:

sudo iptables -A INPUT -s -j DROP

Сетевой префикс /24 равен

Допустим, что нет необходимости ограничивать все обращения с адреса , а нужно запретить только обращение к TCP-порту 22 (SSH). Правило будет выглядеть следующим образом:

iptables -A INPUT -p tcp —dport ssh -s -j DROP

Тоже самое и для подсети:

iptables -A INPUT -p tcp —dport ssh -s -j DROP

Стоит отметить, что параметр -p указывает тип протокола пакетов tcp или udp, следует указывать соответствующий.

Параметр —dport позволяет указывать не только имя службы слушающей порт, но и номер порта. Записи —dport ssh и —dport 22 будут эквивалентны, но только в том случае, если порт ssh-службы не был изменен в конфигурационном файле, в противном случае может быть заблокировано или не заблокировано “что-то”.

Следующее правило заблокирует доступ для подсети к 80 порту сервера (сайт):

sudo iptables -A INPUT -p tcp —dport 80 -s -j DROP

Важно помнить, что некоторые протоколы, тот же TCP, требуют двустороннего согласования, после чего соединение на порту изменяет свой статус ESTABLISHED, FIN_WAIT и т.п. Iptables позволяет выполнить настройку правил таким образом, что если соединение будет установлено, то и исходящий трафик будет разрешен:

sudo iptables -A INPUT -p tcp —dport 80 -s -m state —state NEW,ESTABLISHED -j ACCEPT

sudo iptables -A OUTPUT -p tcp —sport 80 -d -m state —state ESTABLISHED -j ACCEPT

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

Простейшие команды Linux для VPS/VDS

Итак, Вы оказались в консоли в режиме root, что же делать дальше?! Прежде всего, давайте проверим конфигурацию сервера, а то вдруг нам чего-то не додали, в этом нам помогут следующие команды:

cat /proc/cpuinfo – покажет информацию о процессоре. free –m – покажет информацию о объеме памяти. df –h – покажет информацию о дисковом пространстве. ifconfig – покажет информацию об IP.

Теперь посмотрим на самые используемые команды. Прежде всего, эта команда top, которую лучше запускать в виде top –c. Данная команда позволит вывести информацию о нагрузке на сервер «load average» и покажет, какие процессы грузят систему. Второй командой является команда ps, которую лучше запускать с параметрами: ps aux —sort:rss. Кстати, выйти из команды top можно, нажав сочетание клавиш [Ctrl] + [Z].

Читайте также:  Как сделать скриншот экрана в Windows

Следующая команда ls выведет список файлов и директорий в текущей директории, запустив ls –la можно получить расширенную информацию об этих файлах и папках, включая файлы, начинающиеся на точку.

Команда rm удалит не нужные данные, mkdir создаст директорию, touch – файл, а команды mv и cp — это команды перемещения и копирования папок и файлов. Команда cd позволит перейти в иную директорию. Командой find можно искать файлы или директории. Скачать файл можно командой wget. Вывести содержимое командой cat или tail. А отредактировать через редактор и команду vi.

Если какой-то процесс завис, то его можно завершить командой kill -9.

Изменить пароль пользователю можно командой passwd.

Очень важной командой при работе с Linux, является команда man. С помощью этой команды мы можем получить информацию о другой команде, иными словами, эта команда выводит инструкцию к какой-либо команде.

Также получить короткую справку к команде можно, набрав параметр –h или —help.

Установку тех или иных пакетов можно произвести командами: yum или apt-get, в зависимости от используемой ОС.

Теперь пройдемся по структуре системы, в папке /usr находятся исполняемые файлы и библиотеки программ, в папке /etc находятся конфигурационные файлы программ, в папке /var находятся рабочие файлы программ, в папке /tmp находятся временные файлы.

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

Подключение пользовательского образа к VDS

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

Подключение пользовательского образа к VDS
Подключение пользовательского образа к VDS

Кстати, все пользовательские образы других пользователей доступны публично, давайте посмотрим, что там есть:

Подключение пользовательского образа к VDS
Подключение пользовательского образа к VDS

Кто-то даже ставил Kali Linux.

Подключение пользовательского образа к VDS

Когда заказанный пользовательский образ появится в списке, то переходим к виртуальной машине:

Подключение пользовательского образа к VDS
Подключение пользовательского образа к VDS

Останавливаем её и нажимаем там Диски. Теперь выбираем там ISO:

Подключение пользовательского образа к VDS
Подключение пользовательского образа к VDS

Выбираем имя образа, важно, чтобы диск стоял в начале загрузке, нажимаем ОК:

Подключение пользовательского образа к VDS
Подключение пользовательского образа к VDS

Теперь диски выглядят так, причём первым в загрузке идёт именно ISO образ Arch Linux:

Подключение пользовательского образа к VDS
Подключение пользовательского образа к VDS

Возвращаемся к списку виртуальных машин и запускаем нашу машину.

Подключение пользовательского образа к VDS

Переходим к VNC и видит привычную нам заставку Arch Linux:

Загружаемся, учётные данные не нужны, поскольку будет произведён автоматический вход от имени рута:

Доступ по SSH на ubuntu server

Данная статья посвящена настройкам удаленного доступа к Ubuntu Server.

Принцип подключения очень прост: на стороне клиента мы используем программу для удаленного доступа (например, Putty), на стороне сервера устанавливаем и настраиваем пакет OpenSSH.

При подключении клиент проходит процедуру авторизации у сервера и между ними устанавливается зашифрованное соединение. Более подробно принцип работы протокола SSH рассматривался в статье по ссылке.

Доступ по SSH на ubuntu server

Схема сети представлена ниже. Удаленное подключение к серверу будет производиться с компьютера client.

В предыдущей статье мы установили Ubuntu Server на чистый жесткий диск. После установки необходимо настроить сетевой интерфейс сервера для выхода в сеть.

Читайте также:  Алгоритмы и методы распределения нагрузки на сервер

А, именно, задать Ip-адрес, маску сети, шлюз по-умолчанию. Если у вас интерфейс уже настроен – можете этот шаг пропустить. Настройки сетевых интерфейсов задаются в файле /etc/network/interfaces.

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

Попадаем в режим редактирования файла interfaces. Нас тут интересует все, что ниже # The primary network interface. В данный момент сервер получает IP-адрес по DHCP, что не совсем правильно. Сервер должен иметь статический IP, чтобы все узлы в сети точно знали его адрес. Пропишем сетевые настройки вручную.

Мой сервер находится в локальной подсети Серверу назначен IP , маска , шлюз по-умолчанию , адрес DNS-сервера

Доступ по SSH на ubuntu server

Для сохранения файла нажимаем клавиши Ctrl + X   –>  Y —> Enter. Чтобы применить настройки необходимо перезапустить процесс network. Также можно просто перезагрузить сервер командой sudo reboot.

Проверяем (команда ifconfig -a) – настройки применились

  • Все готово для OpesnSS, который можно установить из терминала командами
  • $ sudo apt-get install openssh-client
  • $ sudo apt-get install openssh-server
  • Управлять запуском, остановкой и перезапуском SSH-сервера можно с помощью команд
  • $ sudo service ssh stop | start | restart 

По сути доступ по SSH на сервер уже есть. Но для более тонкой настройки существует конфигурационный файл по адресу /etc/ssh/sshd_config. Доступ к конфигам осуществляется только из под рута.

На стороне клиента скачиваем любую программу для подключения по SSH, я рекомендую Putty. В программе останется лишь ввести Ip-адрес сервера и подключиться к нему. При подключении вводим имя и пароль пользователя.

Поддержите проект

Доступ по SSH на ubuntu server

Друзья, сайт Netcloud каждый день развивается благодаря вашей поддержке. Мы планируем запустить новые рубрики статей, а также некоторые полезные сервисы. 

У вас есть возможность поддержать проект и внести любую сумму, которую посчитаете нужной.

Подключение к Windows через SSH

Теперь вы можете попробовать подключиться к своей Windows 10 через SSH клиент (я использую putty, но можно пользоваться встроенным ssh клиентом Windows).

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

Подключение к Windows через SSH

Нажимаем Да, и в открывшееся окне авторизуемся под пользователем Windows.

При успешном подключении запускается командная оболочка со строкой-приглашением.

[email protected] C:\Users\admin>

Подключение к Windows через SSH

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

Я предпочитаю работать в командной строке PowerShell. Чтобы запустить интерпретатор PowerShell, выполните:

Подключение к Windows через SSH

Чтобы изменить Shell по умолчанию в OpenSSH с на PowerShell, внесите изменение в реестр такой командой:

New-ItemProperty -Path «HKLM:\SOFTWARE\OpenSSH» -Name DefaultShell -Value «C:\Windows\System32\WindowsPowerShell\v1.0\» -PropertyType String –Force

Осталось перезапустить SSH подключение и убедиться, что при подключении используется командный интерпретатор PowerShell (об этом свидетельствует приглашение PS C:\Users\admin>).

Подключение к Windows через SSH

В SSH сессии запустилась консоль PowerShell, в которой работают привычные функции: авто дополнение, раскраска модулем PSReadLine, история команд и т.д. Если текущий пользователь входит в группу локальных администраторов, то все команды в его сессии выполняются с повышенными правами даже при включенном UAC.