Создание SSH ключа, настройка SSH-сервера, клиента, проброс портов

Sdílet
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

Komentáře • 110

  • @user-no4bn4lc4v
    @user-no4bn4lc4v Před 4 měsíci +19

    Инфа просто мега полезная, а подача ультра простая. Искренне надеюсь, что не забросишь это дело. Удачи!

  • @skysamaraskysamara4081
    @skysamaraskysamara4081 Před 3 měsíci +12

    Кратко и понятно. Лучше некоторых платных курсов.
    Спасибо!

  • @zaeboba
    @zaeboba Před 17 dny

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

  • @victormog
    @victormog Před 4 měsíci +11

    Отличное сочетание полезности, краткости и достаточности!

  • @user-zb9ej9pf5n
    @user-zb9ej9pf5n Před 2 měsíci +2

    У тебя отличная и понятная подача материала . Сделайте пожалуйста отдельные плей-лист линукс администратор с нуля и девопс с нуля обучающие ролики 🙏

  • @user-dk9lz5xw3r
    @user-dk9lz5xw3r Před 4 měsíci +4

    Отличная подача! Спасибо за труды и информацию.

  • @AlbertCartel
    @AlbertCartel Před 2 měsíci +1

    Спасибо автор, 2 дня искал на Ютубе чтобы кто разжевал эту тему и как сохранить ключ с локалки на удаленном и не только. Спасибо ещё раз

  • @wefasziengof8180
    @wefasziengof8180 Před 3 měsíci

    Юрий, спасибо за грамотную речь и полезный контент!

  • @ultimate_truth_society
    @ultimate_truth_society Před měsícem +1

    Спасибо. Очень хорошо разложили всё по полочкам и понятно объяснили базовое пользование ssh. Очень хотелось бы увидеть в вашем объяснении темы: более подробная настройка ssh-сервера (может даже что-то совсем фантастическое, как централизованное управление множеством ssh ключей на сервере прогой по типу Bastillion); autossh или удержание открытыми тоннелей через перезпуск в systemd, прямые(-L) и обратные(-R) туннели, ssh-прокси.

  • @Serg_vladimirovish
    @Serg_vladimirovish Před 4 měsíci +4

    Очень достойно и доступно. Продолжай в том же духе.

  • @Den-hs1yq
    @Den-hs1yq Před měsícem +1

    Очень круто! Все по делу! Огонь! Не бросай! Ждем продолжения!

  • @palgogo
    @palgogo Před 4 měsíci +5

    Отличное видео. Все понятно, все приятно

  • @helby255
    @helby255 Před 4 měsíci +1

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

  • @inkorotkova
    @inkorotkova Před 4 měsíci +2

    Спасибо за видио с нужным материалом! Приятный голос

  • @andreykachur3827
    @andreykachur3827 Před 3 měsíci

    Спасибо! Узнал новое для себя! Приятно слушать!:)

  • @brave.circassian77
    @brave.circassian77 Před 3 měsíci

    Спасибо как вовремя появилась нужная информация. Не так давно начал работать с ключами ssh, и хотел более подробно узнать по какому механизму оно работает. Лайк, подписка.

  • @alexeymatveev9031
    @alexeymatveev9031 Před 4 měsíci +1

    Спасибо, гопатыч подсказал, но человека слушать комфортнее.

  • @UralBashkiria
    @UralBashkiria Před 3 měsíci

    Больше прикладных разборов!!! Расширяй этот плейлист пожалуйста! Очень полезная инфа!

  • @goshagotye
    @goshagotye Před 4 měsíci

    Прекрасные видео! Продолжай, пожалуйста)

  • @Klaz73
    @Klaz73 Před 4 měsíci +2

    Хороший лайтовый джаз играет в начале ролика :)

  • @user-ty9ke8gw4q
    @user-ty9ke8gw4q Před 4 měsíci

    Спасибо большое! Про ссш туннель было здорово.

  • @envdude
    @envdude Před 4 měsíci +1

    Шикарный канал! Спасибо за ролики!

  • @user-rz4xj2zt1r
    @user-rz4xj2zt1r Před 4 měsíci

    Спасибо дружище за отличное видео. Продолжай в том же духе !

  • @lavamer
    @lavamer Před měsícem

    Я прям удачно зашёл на этот канал. Для меня тут очень много полезной информации. Спасибо за ваш труд.

    • @etogeek
      @etogeek  Před měsícem

      Спасибо за приятные слова!

  • @flowerinpower
    @flowerinpower Před 4 měsíci

    Молодец! У тебя отлично получается 🎉

  • @XPERT518
    @XPERT518 Před měsícem

    Я RSA ключи использую, не факт, что твой метод лучше.

  • @MrMarlynrus
    @MrMarlynrus Před 4 měsíci

    Молодец! Продолжай в том-же духе!

  • @dkashkarev
    @dkashkarev Před 4 měsíci +1

    *Красавчик* 👍

  • @eggiopain5758
    @eggiopain5758 Před 4 měsíci +1

    Полезный канал для тех кто хочет стать devops

  • @user-ny9ux9ss8n
    @user-ny9ux9ss8n Před 4 měsíci +1

    Подписка и лайк 👍🏼 Все Лайки ставим за прекрасное донесение информации и плюс показывает на примерах автор все 👍🏼👍🏼👍🏼Ждём курс по DevOps 😊

  • @user-em5uy7ms7x
    @user-em5uy7ms7x Před 4 měsíci +1

    Это было сильно!

  • @yushitsu-6394
    @yushitsu-6394 Před 4 měsíci

    Спасибо за отличное видео, буду по новой в девопс вкатываться 😅

    • @etogeek
      @etogeek  Před 4 měsíci +1

      Отличное решение! 💪

  • @user-dn6te8fi2q
    @user-dn6te8fi2q Před 4 měsíci

    Грамотно, спасибо.

  • @donrumata9197
    @donrumata9197 Před 4 měsíci +3

    Спасибо за видео. Очень познавательно. Можете сделать видео (а лучше цикл видео) по работе с физическим сервером. От голого железа до полностью работоспособной и настроенной конфетки? Очень надо

  • @user-tk7hx1jk6r
    @user-tk7hx1jk6r Před 4 měsíci

    Пока неплохо, продолжай)

  • @denisttk
    @denisttk Před 4 měsíci

    Спасибо, полезно. Жалко у меня не было этой инструкции 4 года назад

  • @Sergaent1974
    @Sergaent1974 Před 4 měsíci

    Extremely useful!

  • @user-rn6zz3cm2b
    @user-rn6zz3cm2b Před 4 měsíci

    Отличный видос) Жаль, маловато просмотров но помочб может ютифайесли что. почаще снимайте видосы, ставлю лайк)

  • @user-eg9yt7sm2w
    @user-eg9yt7sm2w Před 4 měsíci

    спасибо за видео

  • @darkm1k0s
    @darkm1k0s Před 3 měsíci

    Огонь

  • @ReizendeR
    @ReizendeR Před 4 měsíci +1

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

    • @fedorsumkin2028
      @fedorsumkin2028 Před 4 měsíci

      осмотрелся: а там китайские школьники в нарды играют

  • @MrMaRBuRG
    @MrMaRBuRG Před 21 dnem

    2 часа? Чет быстрый у вас админ)

  • @eggiopain5758
    @eggiopain5758 Před 4 měsíci

    Теперь давай то же самое через Ansible =)

  • @blackcake3134
    @blackcake3134 Před 4 měsíci

    Хорошая подача материала, всё наглядно и понятно. Вопрос: что за инструмент в браузере? Я увидел только надпись с сырыми логами и телеметрию

    • @etogeek
      @etogeek  Před 4 měsíci +1

      Спасибо!
      Это Grafana - сервис визуализации данных. Обычно используется для мониторинга различных систем. Графана делает запросы к различным источникам данных (базы данных) и строит по ним графики. Конкретно на экране - дашборд для анализа логов Nginx

  • @sda2425
    @sda2425 Před 4 měsíci +2

    Привет! Спасибо за реальные примеры в видео! Планируешь записать, что-то подобное по bash scripts, doker, ansible?

    • @etogeek
      @etogeek  Před 4 měsíci +1

      Привет! Да, просто не хотелось бы прыгать с настройки SSH сразу на контейнеры :)

  • @aleshaidetuchitsya4300
    @aleshaidetuchitsya4300 Před 4 měsíci +1

    Можно размер шрифта в терминале прям сильно больше сделать, а так кайф🤓

    • @etogeek
      @etogeek  Před 4 měsíci +2

      Спасибо, отличное замечание, учту!

  • @dkushka
    @dkushka Před 4 měsíci +1

    какой посоветуешь плейлист уроков по devops?

  • @user-sp7et4os8j
    @user-sp7et4os8j Před 2 měsíci

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

    • @etogeek
      @etogeek  Před měsícem +1

      Хороший вопрос. Нашел такое - serverfault.com/questions/1041672/programmatically-open-a-ssh-tunnel-in-active-session, надо сессию класть в файл и затем изменять её.

  • @isthordenvejr2533
    @isthordenvejr2533 Před 4 měsíci +17

    Я гуманитарий мне ничего не понятно, но очень интересно.

    • @etogeek
      @etogeek  Před 4 měsíci

      Спасибо!

    • @result_123
      @result_123 Před 4 měsíci

      Мне одному не нравится разделение на технарей и простых смертных?

    • @user-rx6bz2gg5w
      @user-rx6bz2gg5w Před 4 měsíci

      ​@@result_123 тогда разделяй на хомячков и userof

    • @biomozgjele
      @biomozgjele Před 4 měsíci

      Для начала нужно основы линуха изучить

    • @RyAndrey
      @RyAndrey Před 4 měsíci +1

      Я технарь, всё понятно, но я и до этого это знал.

  • @DebieCooper
    @DebieCooper Před 4 měsíci +1

    Я ждал этот канал тысячу лет) Подскажите, есть такой сетап: выделенный сервер, на нем esxi с виртуалками. Винда, на ней ад, днс, dhcp, vpn. И есть убунту сервер. Изучаю сейчас курсы типа девопс и встал вопрос, а что мне с этим сервером вообще делать?) Что нужно в реальной жизни, какие задачи выполняются? Просто крабить bash там или книгу без понятия что делать не заходит. Сам себе придумал автоматическое бэкапирование на другой сервер, так это с чатжпт быстренько сделал. И бэкапирование и автоудаление старых бэкапов, плюс логирование. Что еще можно сделать?) Как набить руку чтобы в резюме написать и не стыдно было идти на собесы, в прошлом был программистом. Может есть линк на какой блог, сайт, форум, где таски для нубов девопс, линух инженеров. Надеюсь вопрос мой понятен, а то каша в голове. Справочник в обсидиан веду)

    • @etogeek
      @etogeek  Před 4 měsíci +1

      Привет! Спасибо за обратную связь! Круто, что ты практикуешься в свободное время. Вопрос максимально понятен и он беспокоит большинство начинающих :)
      Попробуй посмотреть первое видео на этом канале, я там описывал примерный порядок задач для практики. В каждую из тем можно углубляться по мере необходимости.

  • @xor_ax_ax
    @xor_ax_ax Před 4 měsíci +1

    У меня виртуалка с CentOS под NATом. На хосте Win 10. По паролю заходит, а по ключу никак. Может из-за того, что в пути к приватному ключу имя кириллицей? Скопировал на винде папку .ssh в другое место. Всё равно ключ не подхватывает. Как бы проверить локально, что на самом сервере всё правильно настроено?

  • @dimitori
    @dimitori Před 4 měsíci

    Спасибо за полезный материал! Не подскажете, что за плагин автозаполнения команд для терминала?

    • @etogeek
      @etogeek  Před 4 měsíci

      Это zsh-autosuggestions, он смотрит по истории команд и по стандартным автокомплитам.

    • @dimitori
      @dimitori Před 4 měsíci

      @@etogeek благодарю!

  • @staryj_kudesnik
    @staryj_kudesnik Před 4 měsíci +1

    больше видосов

  • @wefasziengof8180
    @wefasziengof8180 Před 3 měsíci

    В каком файле находится сопоставление имени сервера с ip адресом сервера?

  • @laurel6661
    @laurel6661 Před měsícem

    ssh-copy-id без root доступа не помощник?) или он через sudo и на сервере права админа запросит? (без предварительных настроек)

    • @etogeek
      @etogeek  Před měsícem

      Чисто copy-id должен отработать без root-прав, потому что он только кладет твой публичный ключ в authorized_keys твоего пользователя. Ну при условии что у тебя есть доступ к серверу вообще.

  • @anatrop5362
    @anatrop5362 Před 4 měsíci +1

    Мне кажется, что 644 на .ssh - плохая идея, все-таки лучше 600)

  • @user-vu9nz5bc7x
    @user-vu9nz5bc7x Před 3 měsíci

    Как увеличить или уменьшить длину ключа?

  • @Kot_off
    @Kot_off Před 4 měsíci +1

    Подскажите пожалуйста, из-за чего может быть такая ошибка?
    etc/ssh/ssh_config: line 59: Bad configuration option: authorizedkeysfile
    файл создан и pub key прописан в нем.

    • @etogeek
      @etogeek  Před 4 měsíci

      Опция для указания файла с публичными ключами относится к ssh-демону, а не клиенту. Тут можно легко запутаться на сервере, я сам во время съемки перепутал файлы и пришлось менять. ssh_config - глобальные настройки клиента, sshd_config - настройки сервера.

    • @Kot_off
      @Kot_off Před 4 měsíci

      @@etogeek получается редактировать нужно настройки сервера sshd_config

  • @dmitriynaumov9208
    @dmitriynaumov9208 Před 3 měsíci +1

    Приветы
    есть воприсики:
    1. Почему не генериили ключи на самом сервере ? и позже не раздали клиентам. Вроде как проще не?
    2. Подскажите по технологии, может я что то не понимаю,
    возможно ли заставить винду (а возможно и андройд с айос) после подключения к выделенному серверу, проксировать весь трафик в 22 порт по тоннелю SSH.
    Без конкретных настроек на уровне приложений. Хотелось бы что бы после коннекта весь трафик проксировался в 22 порт, не зависимо RDP (3389) или HTTPS (443) на уровни ОСей клиентов либо того же клиента Putty. Хочу один раз упростить жизнь на рабочих устройствах, не прокидывая по 1 порту
    3. Почему не используете конфиг типа:
    Ciphers aes256-ctr
    MACs hmac-sha2-512
    Благодарю за внимание ;)

    • @etogeek
      @etogeek  Před 3 měsíci +1

      Привет
      - Насчет ключей. А если у нас 100 серверов, на каждом сгенерить отдельный ключ и раздать пользователю сто ключей? Или я не так понял вопрос? Да и на то ключ и приватный, что его знает только пользователь - нам он ни к чему.
      - Я так понимаю вы хотите использовать SSH в качестве vpn туннеля полноценного? Не пробовал, но кажется что проще и надежнее поднять нормальный vpn, благо серверов полно и настройка совершенно не сложная.
      - В тему с ciphers не углублялся, тут подсказать не смогу.

    • @dmitriynaumov9208
      @dmitriynaumov9208 Před 3 měsíci

      @@etogeek 1. Эм, наверно не так описал, имел ввиду если рассматривать в случае наличия 1 сервера и 10 клиентов.
      Мол при разворачивания сервиса, можно нагенерить ключей, а позже их раздать по безопасному каналу удалённым пользователям. Вроде как выглядит более удобно, не придется каждого пользователя просить ключ.
      2. Соглашусь, но vpn уже есть, казалось что такой метод будет более безопасным, ну и универсальным, как минимум придется на сервере открыть только 1 порт, при желаниии настроить порт кнокинг. Ну и учитывая что vpn можно определить по длине пакета, тут хз, бывало что провайдер лочил рабочий vpn, тем самым вызывал оврал.

  • @DebieCooper
    @DebieCooper Před 4 měsíci

    У меня ещё вопросы. У друга два компа. У него есть хом директория. Как правильно делается? На каждый комп отдельный ключ? И добавляется он в его хом? Или делается один ключ и на два компа копируется? Мне надо его теперь добавить на сервер)

    • @etogeek
      @etogeek  Před 4 měsíci +1

      Он может создать один ключ (приватный) и использовать его на обоих компьютерах для подключения к удаленным серверам. А ты в свою очередь должен добавить его публичный ключ на сервер.

    • @DebieCooper
      @DebieCooper Před 4 měsíci

      @@etogeekТок сча задумался, почему ssh или пинг робит только по айпи. На винде контроллер домена. Как добавить убунту сервер в домен? И чтобы к нему можно было обращаться по доменному имени? И зачем это вообще нужно делать и нужно ли? Вот например в моем сетапе обычной локалки, где ad,dns,dhcp на винде. А сайт я хочу на убунту например. Какое положение он должен в сети занимать? Он ведь получается как бы отдельно от других компов которые в домене или как? Я тут совсем запутался. Видел ваш первый ролик, не совсем понял что делать надо. Что значит возвращать json, html и слушать порт. Есть какой-нибудь пример что вы имеете в виду? И почему java, go. Самому надо сервис сделать какой-то?) Может lamp, lemp? Вроде везде в вакансиях есть. Не совсем понимаю какие реальные петпрожекты делать для практики девопс, хотя бы примеры какие увидеть. Благодарю

    • @etogeek
      @etogeek  Před 4 měsíci +1

      @@DebieCooper предлагаю следить за обновлениями :) я будущем я постараюсь раскрыть подробнее каждый из тех пунктов
      чтобы обращаться к серверу по доменному имени нужно сопоставить DNS имя и IP-адрес. для этого обычно используется dns-сервер (в крайнем случае, запись hosts файле).

    • @DebieCooper
      @DebieCooper Před 4 měsíci

      @@etogeek dns стоит на винде. В хостс добавлял и ещё куда-то там по статьям из инета. С убунту по доменному имени пингуется вин сервер, наоборот нет.

    • @DebieCooper
      @DebieCooper Před 4 měsíci

      @@etogeek слежу. Тяжело найти актуальную инфу от практикующего специалиста ещё и с бестпратисом.

  • @user-sz4xe4ld8x
    @user-sz4xe4ld8x Před 4 měsíci +1

    Не совсем уловил, как распознаётся hostname (server1 и server2). С помощью ip всё сделал, а вот на hostname выдаётся ssh: Could not resolve hostname testerserver: No such host is known.

    • @vvops2540
      @vvops2540 Před 4 měsíci

      Не может зарезолвить имя. В файле hosts сопоставить имя сервера и ip лучше сразу на всех серверах

    • @brave.circassian77
      @brave.circassian77 Před 3 měsíci

      Попробуйте в файлике hosts, прописать айпи адрес и имя сервера, чтоб он понимал к какому серверу идёт подключение.

  • @DebieCooper
    @DebieCooper Před 4 měsíci +1

    PasswordAuthentication no - и все равно запрашивает пароль.
    Короче, по адресу /etc/ssh/sshd_config.d лежит какой-то 50-cloud-init.conf. Что это все такое без понятия. Но в этой штуке всего одна строчка PasswordAuth... yes. Поставил no, все заработало. Вопрос, это только у меня так и что это вообще такое и почему обычный способ не работал. Что вообще такое sshd_config.d, почему в конце .d.

    • @etogeek
      @etogeek  Před 4 měsíci +1

      Обычно в директориях .d лежат дополнительные конфиг. файлы, которые сервис считывает дополнительно. Они обычно нужны для перезаписи или дополнения стандартного конфига, чтобы не менять его.
      В некоторых образах ubuntu действительно есть такой cloud-init файл, сам наткнулся на PasswordAuth yes недавно на одной виртуалке. Его можно просто удалить, когда он будет не нужен.

  • @shelezyaka07-30
    @shelezyaka07-30 Před měsícem +1

    +++!

  • @yogurtl1ve
    @yogurtl1ve Před 3 měsíci

    Доброго времени суток, сделал ключ, в файле sshd_config не было строки PermitRootLogin. Добавил эту строку "PermitRootLogin no" перезапустил демон. Пишу ssh root@ipadress и он меня все равно пускает, пробовал отключать "PasswordAuthentication no", но дела не меняются все равно могу спокойно залогиниться через root. Дайте наставления )

  • @biomozgjele
    @biomozgjele Před 4 měsíci +1

    Го по опен впн урок

  • @Min-ww7oh
    @Min-ww7oh Před 3 měsíci

    я закрываю доступ к аунтификации по паролю но он у меня всё равно запращивает пароль без ключа. Что делать?

    • @etogeek
      @etogeek  Před 3 měsíci

      Посмотри, нет ли у тебя директории /etc/ssh/sshd_config.d или как-то так. В ней на некоторых образа может лежать по умолчанию файл разрешающий доступ по паролю.

  • @zefirkac_c
    @zefirkac_c Před 3 měsíci

    Как также настроить консоль?)

    • @etogeek
      @etogeek  Před měsícem

      Подробнее описано тут etogeek.dev/pages/tech/, но вероятно про это стоит сделать просто видео :)

    • @zefirkac_c
      @zefirkac_c Před měsícem

      Думаю стоит)

  • @user-yw2ih1fl2f
    @user-yw2ih1fl2f Před 11 dny

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

  • @awakeyprime5196
    @awakeyprime5196 Před 4 měsíci

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

    • @etogeek
      @etogeek  Před 3 měsíci +1

      Паша передает, что он настоящий, просто очень занят, чтобы ответить лично.

  • @DzintarsDev
    @DzintarsDev Před 4 měsíci

    Pochemu ljudi tak malo govorit pro SSH Certificates i ih rotaciju. Vedj eto bole udobno i bezopasnee upravljatj imi. V korporavtivnoi srede.

  • @ivanovivan4806
    @ivanovivan4806 Před 4 měsíci

    да надоел ты со своим линуксом

  • @user-qq8zy8km8n
    @user-qq8zy8km8n Před 3 měsíci

    Куча идиотских вопросов в комментариях. Читайте документацию, а не смотрите видео на ютубе. Автор в этом рассаднике тоже косвенно виноват.

  • @fpv_cinematic2460
    @fpv_cinematic2460 Před 3 měsíci

    Ничего не работает, сделал как ты показал, дизлайк

  • @d1v1n3_p0vveR
    @d1v1n3_p0vveR Před 16 dny

    извне, всмысле внутри локальной сети имеешь ввиду? а то ощущение будто с Любой точки мира, но в таком случае ты не указал белый ип