Меню сайта

Форма входа

Поиск

Календарь

«  Декабрь 2024  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
3031

Наш опрос

Нашли то, что искали?
Всего ответов: 186

Друзья сайта

Статистика

Категории раздела

Саша Чёрный [1]
Саша Чёрный
Работа сайта [1]
JavaScript [3]
Полезные скрипты для простых смертных...
Style [1]
Все, что касается графичекого оформления сайта
Иоганн Вольфганг Гете [1]
все что с ним связано
Электронные/цифровые открытки [1]
Проза [1]
Афанасий Афанасьевич Фет [1]
Афанасий Афанасьевич Фет
Андрей Андреевич Вознесенский [1]
Андрей Андреевич Вознесенский(12 мая 1933, Москва — 1 июня 2010[1], Москва)
Иван Алексеевич Бунин [1]
все что касается автора
Flash [1]
Жизнь UCOZ [0]
Все скандальные и не очень событи
Самуил Яковлевич Маршак [2]
Самуил Яковлевич Маршак
Николай Новиков [1]
Иван Андреевич Крылов [1]
Иван Андреевич Крылов
Революционное мышление [1]
Для того, кто стремится к свободе...

Как поднять SSH-сервер на Docker

Лицо парня, когда девушка говорит ему, что не может подключиться по SSH.

 

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

Задача:

Поднять пять SSH-серверов, для тестирования сессий на LoadMaster-е.

:

1. Создаем папку, для нашего проекта с именем ИМЯПАПКИ (имя произвольное).

2. Идем в папку ИМЯПАПКИ , создаем в ней файл, с именем Dockerfile, и записываем в него следующую информацию:

 

FROM ubuntu

RUN apt-get update && apt-get install -y openssh-server
RUN mkdir /var/run/sshd

#Нужно придумать пароль к учетной записи root и вписать его вместо ТВОЙПАРОЛЬ
RUN echo 'root:ТВОЙПАРОЛЬ' | chpasswd
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config

# Эта строчка необходима для обхода бага, с удалением пользователя, после авторизации на сервере.
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd

ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile

#Говорим Docker, что служба SSH работает через 22-й порт, внутри контейнера.
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]

 

3. Запускаем сборку образа, с именем ИМЯОБРАЗА(имя придумываем любое и указываем после опции -t), а дирректорию указываем текущую:  .  (или, полный путь до файла Dockerfile):

 

docker build -t ИМЯОБРАЗА .

 

4. Теперь, на базе собранного образа(ИМЯОБРАЗА), можно запускать столько SSH-серверов(контейнеров), сколько нужно. Запускаем SSH-сервер в фоновом режиме(-d), подключаем его к случайно выбранному порту (-P), с произвольным именем ИМЯSSHСЕРВЕРА (--name):

 

docker run -d -P --name ИМЯSSHСЕРВЕРА ИМЯОБРАЗА

 

5. Смотрим, к какому порту подключен SSH-сервис, в контейнере(ИМЯSSHСЕРВЕРА), работающий по 22-ому порту (EXPOSE 22):

 

docker port ИМЯSSHСЕРВЕРА 22
0.0.0.0:32768

 

6. Аналогичным способом, повторяя 4-5 шаг, создаем остальные сервера, меняя только ИМЯSSHСЕРВЕРА. Вывод выглядит, приблизительно, так:

Вывод Docker-а

© VoOVLupovskaia, 2020



ВНИМАНИЕ!
Весь материал на сате предоставлен исключительно для ознакомления, без цели коммерческого использования!
Права относительно материала принадлежат их законным правообладателям!
Любое копирование и распространение материала с данного ресурса запрещено!
Пожалуйста, если Вам что-то понравилось из представленного материала на сайте,купите это в магазине.