По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
SSH (Secure Shell) - это сетевой протокол, который обеспечивает безопасное удаленное соединение между двумя системами. Системные администраторы используют утилиты SSH для управления компьютерами, копирования или перемещения файлов между системами. Поскольку SSH передает данные по зашифрованным каналам, безопасность находится на высоком уровне.
Установка клиента OpenSSH
Есть много SSH-клиентов, бесплатных и платных, и OpenSSH является наиболее широко используемым клиентом. Он доступен на всех основных платформах, включая Linux, OpenBSD, Windows и macOS. Клиент OpenSSH предустановлен в большинстве дистрибутивов Linux по умолчанию, однако если в вашей системе не установлен клиент ssh, вы можете установить его с помощью диспетчера пакетов.
sudo apt install openssh-client
Как получить доступ к удаленному серверу
Для подключения к удаленному компьютеру вам потребуется его IP-адрес или имя. Загрузите терминал или любой SSH-клиент и введите ssh, а затем IP-адрес:
ssh 192.168.56.101
или имя:
ssh test.server.com
При первом подключении к хосту вы увидите следующее сообщение:
Введите yes и нажмите Enter. Возможно, вам также потребуется ввести свой пароль.
Укажите имя пользователя для SSH-подключения
SSH использует текущего пользователя при доступе к удаленному серверу. Чтобы указать пользователя для SSH-соединения, выполните команду в следующем формате:
ssh username@hostname_or_ip
Например:
ssh testuser@10.0.0.55
Примечание. Если вы столкнулись с ошибкой «Connection refused», обратитесь к нашему руководству, чтобы найти решения.
Используйте другой номер порта для SSH-соединения
По умолчанию сервер SSH прослушивает соединение на порту 22. Если настройка порта в файле конфигурации SSH была изменена, вам необходимо указать порт. В противном случае вы получите такую ошибку:
Чтобы подключиться к удаленному хосту с настраиваемым номером порта SSH, используйте флаг -p. Например:
ssh test.server.com -p 3322
Генерация ключей SSH с помощью SSH Keygen
Чтобы повысить безопасность соединений SSH, сгенерируйте пару ключей с помощью утилиты keygen. Пара состоит из открытого и закрытого ключей. Открытый ключ может быть общим, а закрытый ключ должен оставаться в безопасности.
Пары ключей SSH используются для автоматической аутентификации клиентов на серверах. Когда вы создаете пару ключей SSH, больше не нужно вводить пароль для доступа к серверу.
На терминале хост-машины используйте эту команду для создания пары ключей:
ssh-keygen -t rsa
Чтобы использовать настройки по умолчанию, нажмите Enter в ответ на запрос местоположения файла и парольной фразы.
Копировать открытый ключ SSH
Чтобы использовать пару ключей для аутентификации SSH, вам необходимо скопировать открытый ключ на сервер. Ключ - это файл id_rsa.pub, ранее созданный с помощью утилиты генерации ключей SSH.
Чтобы скопировать ключ на сервер, запустите эту команду на клиенте:
ssh-copy-id hostname_or_IP
Вы также можете указать имя пользователя, если не хотите использовать текущего пользователя.
Введите пароль для аутентификации, когда его спросят. После этого вам больше не нужно будет использовать пароль для подключения к тому же серверу.
Копирование файла удаленно через SSH с помощью SCP
Вы можете безопасно копировать файлы по протоколу SSH с помощью инструмента SCP. Базовый синтаксис:
scp fileName user@remotehost:/home/username/destination
Например, чтобы скопировать файл sample3 на рабочий стол на удаленном сервере с проверкой имени пользователя, введите:
scp sample3 test@10.0.10.5:/home/test/Desktop
Выходные данные показывают сводку операции.
Обязательно используйте флаг -P в верхнем регистре, если вам нужно указать порт.
Редактировать файл конфигурации SSH
Вы можете контролировать, как удаленные пользователи могут получить доступ к серверу через SSH. Измените настройки в файле sshd_config, чтобы настроить параметры сервера SSH. Обязательно редактируйте только те параметры, которые вам знакомы. Сервер может стать недоступным из-за неправильной конфигурации.
Используйте любой редактор по вашему выбору, чтобы отредактировать файл. Для внесения изменений вам потребуются права суперпользователя. В Linux мы используем vim.
В командной строке на удаленном хосте введите:
sudo vim /etc/ssh/sshd_config
Введите пароль sudo, и оболочка откроет файл в редакторе, который вы использовали.
Перезапустить службу SSH
Когда вы вносите изменения в конфигурацию SSH, вам нужно будет перезапустить службу в Linux.
В зависимости от дистрибутива Linux выполните одну из следующих команд на машине, на которой вы изменили настройки:
sudo ssh service restart
или:
sudo sshd service restart
Наконец, введите пароль, чтобы завершить процесс. В результате в следующем сеансе SSH будут использоваться новые настройки.
Выполнение команды на удаленном сервере с локального компьютера
Этот метод не создает новую оболочку. Вместо этого он запускает команду и возвращает пользователя в локальную подсказку. Вы можете создать файл, скопировать файлы или запустить любую другую команду SSH в этом формате.
Чтобы удаленно выполнить команду с локального компьютера, добавьте инструкцию к команде SSH. Например, чтобы удалить файл, введите:
ssh test.server.com rm ~/Desktop/Dir1/sample4
Введите пароль, и файл на удаленном сервере будет удален без создания новой оболочки.
Параметры командной строки SSH
Инструмент SSH имеет множество дополнительных параметров. Ниже перечислены общие параметры SSH и соответствующие описания.
-1 - указывает ssh использовать версию протокола 1
-2 - указывает ssh использовать протокол версии 2.
-4 - разрешает только адреса IPv4.
-6 - разрешает только адреса IPv6.
-A - включает переадресацию соединения агента аутентификации. Используйте эту опцию с осторожностью.
-a - Отключает переадресацию соединения агента аутентификации.
-b bind_address - используйте эту опцию на локальном хосте с более чем одним адресом, чтобы установить исходный адрес соединения.
-C - включает сжатие данных для всех файлов. Только для использования с медленными соединениями.
-c cipher_spec - используется для выбора спецификации шифра. Перечислите значения через запятую.
-E log_fileName - прикрепляет журналы отладки к log_file вместо стандартной ошибки.
-f - отправляет ssh в фоновый режим даже до ввода пароля или ключевой фразы.
-g - Разрешает удаленным хостам подключаться к портам, перенаправленным на локальном компьютере.
-q - запускает ssh в тихом режиме. Он подавляет большинство сообщений об ошибках и предупреждениях.
-V - отображает версию инструмента ssh и завершает работу.
-v - печатает отладочные сообщения для ssh-соединения. Подробный режим полезен при устранении неполадок конфигурации.
-X - Используйте этот параметр, чтобы включить пересылку X11.
-x - Отключить пересылку X11.
В предыдущей статье, мы рассказывали, как установить Asterisk 14.3.0 из источников, в сегодняшней статье, хотелось бы поговорить про базовые возможности управления Asterisk из командной строки после установки.
По умолчанию, после запуска Asterisk будет работать как процесс в фоновом режиме и для того, чтобы подключиться и начать управлять работающим процессом, необходимо включить удаленную консоль следующей командой:
[root@localhost ~]# asterisk -r
Asterisk 14.3.0, Copyright (C) 1999 - 2016, Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 14.3.0 currently running on localhost (pid = 1887)
localhost*CLI>
Опция -R также поможет подключить удаленную консоль, однако она будет автоматически пробовать переподключиться к Asterisk, если по каким-то причинам, соединение было разорвано.
Чтобы отключиться от удаленной консоли Asterisk, нужно нажать сочетание клавиш Ctrl+C
Существует несколько способов остановки работающего процесса Asterisk:
core stop now - данная команда мгновенно останавливает процесс, обрывая все проходящие на сервере соединения и звонки
core stop gracefully - данная команда не позволяет новым соединениям устанавливаться на Asterisk, но позволяет текущим соединениям продолжаться. Когда все соединения заканчиваются, то Asterisk останавливается
core stop when convenient - данная команда также дожидается пока на сервере не останется текущих звонков, а затем останавливает Asterisk. Однако, новые звонки, поступающие на сервер - разрешены
Команды для перезапуска процесса Asterisk работают аналогично командам, останавливающим процесс, которые описаны выше, но вместо того чтобы останавливать Asterisk, они его перезапускают в соответствии с синтаксисом команды:
core restart now
core restart gracefully
core restart when convenient
Существует также команда, которая отменяет введенную ранее команду остановки или перезапуска, если пользователь вдруг передумал:
core abort shutdown
Также можно подключиться к Asterisk как root, командой:
[root@localhost ~]# asterisk -c
Asterisk 14.3.0, Copyright (C) 1999 - 2016, Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for detail s.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
[ Initializing Custom Configuration Options ]
*CLI> Asterisk Ready.
Мы категорически не рекомендуем запускать Asterisk с правами root’а, поскольку это опасно и может негативно повлиять на систему, на которой работает Asterisk.
Управление степенью логирования событий в Asterisk
Вы можете управлять тем, насколько подробно будут логироваться события Asterisk, для этого используется специальная опция -v. Каждая –v повышает уровень VERBOSE сообщений.
Например, следующая команда повышает уровень логирования на 2:
# asterisk –r –v -v
Возможен и такой вариант ввода, разницы между ними нет
# asterisk -rvv
Другие опции
Можно также запускать Asterisk от имени другого пользователя:
# asterisk –U asteriskuser
Для работы от имени другого пользователя, советуем убедиться, что у него есть разрешения на доступ к следующим директориям. Используйте команды:
# sudo chown -R asteriskuser:asteriskuser /usr/lib/asterisk
# sudo chown -R asteriskuser:asteriskuser /var/lib/asterisk
# sudo chown -R asteriskuser:asteriskuser /var/spool/asterisk
# sudo chown -R asteriskuser:asteriskuser /var/log/asterisk
# sudo chown -R asteriskuser:asteriskuser /var/run/asterisk
# sudo chown asteriskuser:asteriskuser /usr/sbin/asterisk
Команды в консоль сервера IP - АТС Asterisk можно и давать с помощью графической оболочки FreePBX. Для этого, перейдите в раздел Admin → Asterisk CLI
Существует большое множество других опций и режимов, доступных при запуске Asterisk, для того чтобы посмотреть и ознакомиться с ними, используйте команду:
# asterisk –h
Чтобы управлять сервисом Asterisk из командной строки Вашей операционной системы используйте следующие команды:
Для запуска сервиса:
# service asterisk start
Starting asterisk (via systemctl): [ OK ]
Для остановки сервиса:
# service asterisk stop
Stopping asterisk (via systemctl): [ OK ]
Для перезапуска сервиса:
# service asterisk restart
Stopping asterisk (via systemctl): [ OK ]
Starting asterisk (via systemctl): [ OK ]
Для проверки статуса:
# service asterisk status
? asterisk.service - LSB: Asterisk PBX
Loaded: loaded (/etc/rc.d/init.d/asterisk; bad; vendor preset: disabled)
Active: active (running) since Wed 2017-03-01 15:59:26 MSK; 2s ago
Docs: man:systemd-sysv-generator(8)
Process: 11611 ExecStop=/etc/rc.d/init.d/asterisk stop (code=exited, status=0/SUCCESS)
Process: 11672 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS)
Main PID: 11697 (asterisk)
CGroup: /system.slice/asterisk.service
+-11695 /bin/sh /usr/sbin/safe_asterisk
L-11697 /usr/sbin/asterisk -f -vvvg -c
Mar 01 15:59:26 localhost.localdomain systemd[1]: Starting LSB: Asterisk PBX...
Mar 01 15:59:26 localhost.localdomain asterisk[11672]: Starting asterisk:
Mar 01 15:59:26 localhost.localdomain systemd[1]: PID file /var/run/asterisk/...
Mar 01 15:59:26 localhost.localdomain systemd[1]: asterisk.service: Supervisi...
Mar 01 15:59:26 localhost.localdomain systemd[1]: Started LSB: Asterisk PBX.
Hint: Some lines were ellipsized, use -l to show in full.
Сегодня речь в статье пойдет о Docker. Все, кто хоть как-то касаются сферы IT слышали про Docker, но не все знают, что же это такое. Итак, сегодня мы простыми словами расскажем о том, что такое Docker, чем это отличается от виртуализации, покажем подробный процесс инсталляции на CentOS 7 и установим просто графический интерфейс Portainer, для управления контейнерами. Также немного коснемся команд для использования Docker.
Что такое Docker?
Docker - это платформа, которая может “упаковать” приложение, его зависимости, middleware и так далее в так называемый “контейнер”, после чего у вас появится возможность развернуть данный контейнер на любом сервере, на котором установлен Docker - причем буквально за доли секунды, одной командой.
Благодаря этим решается сразу несколько задач - в первую очередь, процесс запуска приложения на сервере многократно упрощается, во вторую - какие-либо баги в контейнеризированном приложении никак не повлияют на сам сервер, также как и специфические настройки сервера не повлияют на приложение.
И хоть кажется, что Docker выглядит и работает как виртуальная машина, на самом деле они очень разные: виртуальная машина эмулирует сервер целиком, включая все аппаратные ресурсы, а контейнер изолирует приложение, процессы, юзеров и файловую систему. При этом все контейнеры используют общее Linux ядро хоста и запускается в нативном режиме только на Linux машинах, но зато на одной машине можно запустить примерно в 5-6 раз больше контейнеров, чем виртуальных машинах. Ниже на схеме показаны различия:
Установка Docker
Как было упомянуто в начале статьи, устанавливать Докер мы будем на CentOS 7 - процесс установки крайне простой и быстрый.
Итак, сначала необходимо установить с помощью yum несколько пакетов:
yum install -y yum-utils
device-mapper-persistent-data
Lvm2
Далее необходимо установить stable репозиторий для Докера, который вам понадобится, даже если вы захотите устанавливать билды из edge и test репозиториев:
yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo
Затем устанавливаем сам Docker:
yum install docker-ce
И, наконец, запускаем Docker:
systemctl start docker
Проверяем, что Docker запустился и работает в два шага:
systemctl status docker
Вы должны увидеть следующий вывод:
После этого пробуем развернуть контейнер hello-world:
docker run hello-world
Если все шаги были выполнены корректно, то на экране должно появится следующее:
Установка Portainer
Portainer - это очень удобный графический интерфейс для управления Docker или Docker Swarm. Устанавливается он практически в одно действие - так как сам точно также является контейнером. Итак:
Создаем разметку для Portainer:
docker volume create portainer_data
И затем запускаем сам контейнер:
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
После чего заходите на сетевой адрес вашего сервера на порт 9000, и вы должны увидеть окно с предложением установить пароль администратора:
Далее выбираем где находится наш Докер - на этом же сервере, или на другом (в нашем случае - Local) и кликаем Connect.
После чего вас встретит красивый дэшборд:
Я предлагаю вам попробовать разобраться со всем многообразием дэшборда самим и задавать нам вопросы в комментариях - а мы пока продемонстрируем несколько фич.
Итак, сначала кликните на Containers - вы увидите все имеющиеся контейнеры с информацией о них:
Как вы можете видеть, у нас на данный момент запущен только один контейнер - Portainer, и доступ к нему открыт по порту 9000 (столбец Published Ports), и адрес во внутренней сети Docker - 172.17.0.2.
Далее кликните на App Templates в меню справа - и вы увидите весь список приложений, который можно запустить одним кликом:
Зайдем во вкладку Httpd:
Сперва, назовите данный контейнер как-нибудь - мы назвали test-merionet. Затем, можете кликнуть на Show advanced options и вы увидите возможность выбора какой порт, протокол и том будет использоваться данным контейнером. Затем просто нажмите на Deploy the container.
Пройдет буквально несколько секунд и вас должно перекинуть обратно на вкладку Containers, но, с уже вторым запущенным контейнером:
Отсюда вы увидите, что httpd сервер доступен на 32768 порту. Итак, пробуем зайти на данный сервер через браузер:
Вы должны будете увидеть надпись It works! так же как на скриншоте выше - дальнейшую настройку httpd мы пока оставляем за кадром.
Донастройка Docker и полезные команды
Итак, вы уже познакомились с Docker и получили представление о его возможностях. Ниже в тексте мы опишем действия, которые также необходимо сделать после установки и некоторые команды, без которых буквально трудно жить, если активно используешь Докер.
Первым делом, настройте автозапуск для сервиса Docker:
systemctl enable docker
Затем, вы можете проверить запущенные контейнеры в консоли (на случай если вам не нравится идея использования GUI) с помощью команды
docker ps
Теперь немного о командах и синтаксисе - будем показывать на примерах:
Допустим, нам нужно запустить CentOS и выполнить в нем команду echo:
docker run centos echo “Hello from Merion Networks”
Запустить CentOS и подключиться к его терминалу:
docker run -t-i centos /bin/bash
Можете сразу указать нужные порты с помощью ключа -p и запустить контейнер в бэкграунде с помощью ключа --d:
docker run -p 80:80 --d nodejs-app
Итак, совсем немного об опциях для команды docker run - полный список можно найти по ссылке https://docs.docker.com/engine/reference/commandline/run/#description
-p - открываем конкретные порты через пробел - порт доступа и порт на контейнере, к примеру docker run -p 9876:80 %imagename%
-P - открываем сразу все порты;
-t - подключение к терминалу контейнера;
-i - интерактивный режим, STDIN все время будет открыт;
Обязательно посетите Docker Hub, так как там можно найти кучу интересных контейнеров с примерами их установки и доступом к Docker-файлу, это что-то вроде GitHub только для контейнеров.
Заключение
На этом всё, спасибо за внимание! Пишите в комментариях, что еще вам интересно узнать про Докер - в следующих статьях мы покроем такие темы как: создание своего собственного Докер-файла и образа, как подключить папку файловой системы с вашего хоста, интересное на Docker Hub и так далее.