Создание SSH ключа, настройка SSH-сервера, клиента, проброс портов
Vložit
- čas přidán 25. 06. 2024
- Представим наш первый день на новой работе - админ просит у нас ssh-ключ, чтобы добавить его на сервер. А где его взять? Какой скидывать?
А еще разберемся как настроить SSH-сервер и SSH-клиент (ssh config) для удобной и безопасной работы.
В конце бонусом научимся пробрасывать порты с удаленного сервера себе на компьютер через SSH.
👉 • Кто такой DevOps-инжен...
Пример sshd_config (конфигурация сервера): gist.github.com/etoosamoe/ecf...
Пример ssh config (конфигурация клиента):
gist.github.com/etoosamoe/07c...
Команды для установки корректных прав на .ssh директорию:
gist.github.com/etoosamoe/6cd...
🛠️ Железо и софт, которым я пользуюсь: etogeek.dev/pages/tech/
✉️ Telegram: t.me/etogeek
🌎 Blog: etogeek.dev
🤝 Linkedin: / yuriy-semyenkov-571a41113
#linux #ssh #ubuntu
⏱️ Таймкоды:
0:00 Вступление
0:28 Теория про SSH
1:32 Создание ключей
3:48 Подключение
4:43 Добавление ключа
9:42 Настройка сервера
12:19 Настройка клиента
14:00 Проброс порта - Věda a technologie
Инфа просто мега полезная, а подача ультра простая. Искренне надеюсь, что не забросишь это дело. Удачи!
Кратко и понятно. Лучше некоторых платных курсов.
Спасибо!
я вообще никогда не имел дела с консолью и т.д, но вот наверное с пол года мне чел показал объяснил, и я так на ссш ключи подсел, это удобно жесть просто, еще и кучу функций в винде понасоздавал для выполнения каких нибудь сложных действий в консоле одним словом
Отличное сочетание полезности, краткости и достаточности!
У тебя отличная и понятная подача материала . Сделайте пожалуйста отдельные плей-лист линукс администратор с нуля и девопс с нуля обучающие ролики 🙏
Отличная подача! Спасибо за труды и информацию.
Спасибо автор, 2 дня искал на Ютубе чтобы кто разжевал эту тему и как сохранить ключ с локалки на удаленном и не только. Спасибо ещё раз
Юрий, спасибо за грамотную речь и полезный контент!
Спасибо. Очень хорошо разложили всё по полочкам и понятно объяснили базовое пользование ssh. Очень хотелось бы увидеть в вашем объяснении темы: более подробная настройка ssh-сервера (может даже что-то совсем фантастическое, как централизованное управление множеством ssh ключей на сервере прогой по типу Bastillion); autossh или удержание открытыми тоннелей через перезпуск в systemd, прямые(-L) и обратные(-R) туннели, ssh-прокси.
Очень достойно и доступно. Продолжай в том же духе.
Очень круто! Все по делу! Огонь! Не бросай! Ждем продолжения!
Отличное видео. Все понятно, все приятно
супергодно, почерпнул полезностей за столь короткое время
Спасибо за видио с нужным материалом! Приятный голос
Спасибо! Узнал новое для себя! Приятно слушать!:)
Спасибо как вовремя появилась нужная информация. Не так давно начал работать с ключами ssh, и хотел более подробно узнать по какому механизму оно работает. Лайк, подписка.
Спасибо, гопатыч подсказал, но человека слушать комфортнее.
Больше прикладных разборов!!! Расширяй этот плейлист пожалуйста! Очень полезная инфа!
Прекрасные видео! Продолжай, пожалуйста)
Хороший лайтовый джаз играет в начале ролика :)
Спасибо большое! Про ссш туннель было здорово.
Шикарный канал! Спасибо за ролики!
Спасибо дружище за отличное видео. Продолжай в том же духе !
Я прям удачно зашёл на этот канал. Для меня тут очень много полезной информации. Спасибо за ваш труд.
Спасибо за приятные слова!
Молодец! У тебя отлично получается 🎉
Я RSA ключи использую, не факт, что твой метод лучше.
Молодец! Продолжай в том-же духе!
*Красавчик* 👍
Полезный канал для тех кто хочет стать devops
Подписка и лайк 👍🏼 Все Лайки ставим за прекрасное донесение информации и плюс показывает на примерах автор все 👍🏼👍🏼👍🏼Ждём курс по DevOps 😊
Трижды лайк
Это было сильно!
Спасибо за отличное видео, буду по новой в девопс вкатываться 😅
Отличное решение! 💪
Грамотно, спасибо.
Спасибо за видео. Очень познавательно. Можете сделать видео (а лучше цикл видео) по работе с физическим сервером. От голого железа до полностью работоспособной и настроенной конфетки? Очень надо
Пока неплохо, продолжай)
Спасибо, полезно. Жалко у меня не было этой инструкции 4 года назад
Extremely useful!
Отличный видос) Жаль, маловато просмотров но помочб может ютифайесли что. почаще снимайте видосы, ставлю лайк)
спасибо за видео
Огонь
самое веселое, когда мне необходим был доступ к виртуальной машине в лабе. снаружи к ней подключиться нельзя было(за натом и возможности проброса к ней портов не предусматривалось). был внешний сервер и домашний компьютер, к которому внешний айпи тоже не предоставлен. в итоге пришлось создать конструкцию, когда я через ssh с виртуалки подключаюсь к внешнему серверу, на нем у меня назначены пробросы портов ssh. и когда с домашнего компа подключался по определенному порту к внешнему серверу, сразу попадал на тот виртуальный за натом)
осмотрелся: а там китайские школьники в нарды играют
2 часа? Чет быстрый у вас админ)
Теперь давай то же самое через Ansible =)
Хорошая подача материала, всё наглядно и понятно. Вопрос: что за инструмент в браузере? Я увидел только надпись с сырыми логами и телеметрию
Спасибо!
Это Grafana - сервис визуализации данных. Обычно используется для мониторинга различных систем. Графана делает запросы к различным источникам данных (базы данных) и строит по ним графики. Конкретно на экране - дашборд для анализа логов Nginx
Привет! Спасибо за реальные примеры в видео! Планируешь записать, что-то подобное по bash scripts, doker, ansible?
Привет! Да, просто не хотелось бы прыгать с настройки SSH сразу на контейнеры :)
Можно размер шрифта в терминале прям сильно больше сделать, а так кайф🤓
Спасибо, отличное замечание, учту!
какой посоветуешь плейлист уроков по devops?
Спасибо, четко, ясно и с примерами. Есть вопросик
Ты рассказал как сделать туннель во время подключения по SSH.
А можно ли сделать туннель, когда мы уже подключены по SSH и находимся на машине?
Хороший вопрос. Нашел такое - serverfault.com/questions/1041672/programmatically-open-a-ssh-tunnel-in-active-session, надо сессию класть в файл и затем изменять её.
Я гуманитарий мне ничего не понятно, но очень интересно.
Спасибо!
Мне одному не нравится разделение на технарей и простых смертных?
@@result_123 тогда разделяй на хомячков и userof
Для начала нужно основы линуха изучить
Я технарь, всё понятно, но я и до этого это знал.
Я ждал этот канал тысячу лет) Подскажите, есть такой сетап: выделенный сервер, на нем esxi с виртуалками. Винда, на ней ад, днс, dhcp, vpn. И есть убунту сервер. Изучаю сейчас курсы типа девопс и встал вопрос, а что мне с этим сервером вообще делать?) Что нужно в реальной жизни, какие задачи выполняются? Просто крабить bash там или книгу без понятия что делать не заходит. Сам себе придумал автоматическое бэкапирование на другой сервер, так это с чатжпт быстренько сделал. И бэкапирование и автоудаление старых бэкапов, плюс логирование. Что еще можно сделать?) Как набить руку чтобы в резюме написать и не стыдно было идти на собесы, в прошлом был программистом. Может есть линк на какой блог, сайт, форум, где таски для нубов девопс, линух инженеров. Надеюсь вопрос мой понятен, а то каша в голове. Справочник в обсидиан веду)
Привет! Спасибо за обратную связь! Круто, что ты практикуешься в свободное время. Вопрос максимально понятен и он беспокоит большинство начинающих :)
Попробуй посмотреть первое видео на этом канале, я там описывал примерный порядок задач для практики. В каждую из тем можно углубляться по мере необходимости.
У меня виртуалка с CentOS под NATом. На хосте Win 10. По паролю заходит, а по ключу никак. Может из-за того, что в пути к приватному ключу имя кириллицей? Скопировал на винде папку .ssh в другое место. Всё равно ключ не подхватывает. Как бы проверить локально, что на самом сервере всё правильно настроено?
Спасибо за полезный материал! Не подскажете, что за плагин автозаполнения команд для терминала?
Это zsh-autosuggestions, он смотрит по истории команд и по стандартным автокомплитам.
@@etogeek благодарю!
больше видосов
В каком файле находится сопоставление имени сервера с ip адресом сервера?
ssh-copy-id без root доступа не помощник?) или он через sudo и на сервере права админа запросит? (без предварительных настроек)
Чисто copy-id должен отработать без root-прав, потому что он только кладет твой публичный ключ в authorized_keys твоего пользователя. Ну при условии что у тебя есть доступ к серверу вообще.
Мне кажется, что 644 на .ssh - плохая идея, все-таки лучше 600)
Как увеличить или уменьшить длину ключа?
Подскажите пожалуйста, из-за чего может быть такая ошибка?
etc/ssh/ssh_config: line 59: Bad configuration option: authorizedkeysfile
файл создан и pub key прописан в нем.
Опция для указания файла с публичными ключами относится к ssh-демону, а не клиенту. Тут можно легко запутаться на сервере, я сам во время съемки перепутал файлы и пришлось менять. ssh_config - глобальные настройки клиента, sshd_config - настройки сервера.
@@etogeek получается редактировать нужно настройки сервера sshd_config
Приветы
есть воприсики:
1. Почему не генериили ключи на самом сервере ? и позже не раздали клиентам. Вроде как проще не?
2. Подскажите по технологии, может я что то не понимаю,
возможно ли заставить винду (а возможно и андройд с айос) после подключения к выделенному серверу, проксировать весь трафик в 22 порт по тоннелю SSH.
Без конкретных настроек на уровне приложений. Хотелось бы что бы после коннекта весь трафик проксировался в 22 порт, не зависимо RDP (3389) или HTTPS (443) на уровни ОСей клиентов либо того же клиента Putty. Хочу один раз упростить жизнь на рабочих устройствах, не прокидывая по 1 порту
3. Почему не используете конфиг типа:
Ciphers aes256-ctr
MACs hmac-sha2-512
Благодарю за внимание ;)
Привет
- Насчет ключей. А если у нас 100 серверов, на каждом сгенерить отдельный ключ и раздать пользователю сто ключей? Или я не так понял вопрос? Да и на то ключ и приватный, что его знает только пользователь - нам он ни к чему.
- Я так понимаю вы хотите использовать SSH в качестве vpn туннеля полноценного? Не пробовал, но кажется что проще и надежнее поднять нормальный vpn, благо серверов полно и настройка совершенно не сложная.
- В тему с ciphers не углублялся, тут подсказать не смогу.
@@etogeek 1. Эм, наверно не так описал, имел ввиду если рассматривать в случае наличия 1 сервера и 10 клиентов.
Мол при разворачивания сервиса, можно нагенерить ключей, а позже их раздать по безопасному каналу удалённым пользователям. Вроде как выглядит более удобно, не придется каждого пользователя просить ключ.
2. Соглашусь, но vpn уже есть, казалось что такой метод будет более безопасным, ну и универсальным, как минимум придется на сервере открыть только 1 порт, при желаниии настроить порт кнокинг. Ну и учитывая что vpn можно определить по длине пакета, тут хз, бывало что провайдер лочил рабочий vpn, тем самым вызывал оврал.
У меня ещё вопросы. У друга два компа. У него есть хом директория. Как правильно делается? На каждый комп отдельный ключ? И добавляется он в его хом? Или делается один ключ и на два компа копируется? Мне надо его теперь добавить на сервер)
Он может создать один ключ (приватный) и использовать его на обоих компьютерах для подключения к удаленным серверам. А ты в свою очередь должен добавить его публичный ключ на сервер.
@@etogeekТок сча задумался, почему ssh или пинг робит только по айпи. На винде контроллер домена. Как добавить убунту сервер в домен? И чтобы к нему можно было обращаться по доменному имени? И зачем это вообще нужно делать и нужно ли? Вот например в моем сетапе обычной локалки, где ad,dns,dhcp на винде. А сайт я хочу на убунту например. Какое положение он должен в сети занимать? Он ведь получается как бы отдельно от других компов которые в домене или как? Я тут совсем запутался. Видел ваш первый ролик, не совсем понял что делать надо. Что значит возвращать json, html и слушать порт. Есть какой-нибудь пример что вы имеете в виду? И почему java, go. Самому надо сервис сделать какой-то?) Может lamp, lemp? Вроде везде в вакансиях есть. Не совсем понимаю какие реальные петпрожекты делать для практики девопс, хотя бы примеры какие увидеть. Благодарю
@@DebieCooper предлагаю следить за обновлениями :) я будущем я постараюсь раскрыть подробнее каждый из тех пунктов
чтобы обращаться к серверу по доменному имени нужно сопоставить DNS имя и IP-адрес. для этого обычно используется dns-сервер (в крайнем случае, запись hosts файле).
@@etogeek dns стоит на винде. В хостс добавлял и ещё куда-то там по статьям из инета. С убунту по доменному имени пингуется вин сервер, наоборот нет.
@@etogeek слежу. Тяжело найти актуальную инфу от практикующего специалиста ещё и с бестпратисом.
Не совсем уловил, как распознаётся hostname (server1 и server2). С помощью ip всё сделал, а вот на hostname выдаётся ssh: Could not resolve hostname testerserver: No such host is known.
Не может зарезолвить имя. В файле hosts сопоставить имя сервера и ip лучше сразу на всех серверах
Попробуйте в файлике hosts, прописать айпи адрес и имя сервера, чтоб он понимал к какому серверу идёт подключение.
PasswordAuthentication no - и все равно запрашивает пароль.
Короче, по адресу /etc/ssh/sshd_config.d лежит какой-то 50-cloud-init.conf. Что это все такое без понятия. Но в этой штуке всего одна строчка PasswordAuth... yes. Поставил no, все заработало. Вопрос, это только у меня так и что это вообще такое и почему обычный способ не работал. Что вообще такое sshd_config.d, почему в конце .d.
Обычно в директориях .d лежат дополнительные конфиг. файлы, которые сервис считывает дополнительно. Они обычно нужны для перезаписи или дополнения стандартного конфига, чтобы не менять его.
В некоторых образах ubuntu действительно есть такой cloud-init файл, сам наткнулся на PasswordAuth yes недавно на одной виртуалке. Его можно просто удалить, когда он будет не нужен.
+++!
Доброго времени суток, сделал ключ, в файле sshd_config не было строки PermitRootLogin. Добавил эту строку "PermitRootLogin no" перезапустил демон. Пишу ssh root@ipadress и он меня все равно пускает, пробовал отключать "PasswordAuthentication no", но дела не меняются все равно могу спокойно залогиниться через root. Дайте наставления )
Го по опен впн урок
я закрываю доступ к аунтификации по паролю но он у меня всё равно запращивает пароль без ключа. Что делать?
Посмотри, нет ли у тебя директории /etc/ssh/sshd_config.d или как-то так. В ней на некоторых образа может лежать по умолчанию файл разрешающий доступ по паролю.
Как также настроить консоль?)
Подробнее описано тут etogeek.dev/pages/tech/, но вероятно про это стоит сделать просто видео :)
Думаю стоит)
я запретил ему вводить пароль и он ключ в баню послал
а ведь кто то подумает, что сообщения от админа были смонтированы...
Паша передает, что он настоящий, просто очень занят, чтобы ответить лично.
Pochemu ljudi tak malo govorit pro SSH Certificates i ih rotaciju. Vedj eto bole udobno i bezopasnee upravljatj imi. V korporavtivnoi srede.
да надоел ты со своим линуксом
Куча идиотских вопросов в комментариях. Читайте документацию, а не смотрите видео на ютубе. Автор в этом рассаднике тоже косвенно виноват.
Ничего не работает, сделал как ты показал, дизлайк
извне, всмысле внутри локальной сети имеешь ввиду? а то ощущение будто с Любой точки мира, но в таком случае ты не указал белый ип