Налаштуйте SSH-з'єднання без пароля всього за 3 кроки

Привіт

Тут ви побачите, як віддалено підключитися до ПК SSH просто ввівши пароль вперше, тоді навіть якщо ми перезапустимо обидва комп’ютери, у нас більше не буде запиту пароля.

Але давайте спочатку побачимо коротке пояснення того, що це таке SSH:

SSH це протокол, засіб зв'язку між двома комп’ютерами. Це дозволяє нам віддалено керувати командою. Коли ми отримуємо доступ до іншого комп’ютера за допомогою SSH, команда, яку ми вводимо в цей термінал, буде виконана на іншому комп’ютері, таким чином ми керуємо ним / управляємо ним.

Все, що передається SSH, він зашифрований і з набагато хорошим захистом.

Тепер ми побачимо, як лише за три кроки ми налаштуємо ПК №1 доступу ПК №2 без введення пароля:

У нас така ситуація:

ПК №1 - » Ви хочете підключитися до ПК №2, без необхідності вводити пароль щоразу при спробі підключитися до цього іншого ПК.

ПК №2 - » У вас встановлений сервер SSH. Це єдиний ПК №1 підключиться, і зробить це, не вводячи пароль. На цьому ПК є користувач із іменем корінь.

Почнемо ...

1. En ПК №1 ми пишемо наступне:

  • ssh -keygen -b 4096 -t rsa

Це створить відкритий ключ. Щоб не занадто плутатись із "відкритим та приватним ключами", я поясню це дуже просто.

Припустимо, у вас у кишені два ключі від вашого будинку, один ви віддаєте своїй дівчині, оскільки ви живете разом, а з іншим ви залишаєтесь на самоті, ви нікому не даєте його. Ну, той ключ, який ви дали своїй дівчині, дозволить їй увійти до вашого будинку, не сказавши вам, не запитавши вашого дозволу, так? це відкритий ключ, "ключ", який дозволяє одному ПК отримати доступ до іншого без необхідності запитувати ваш дозвіл (тобто без введення імені користувача та пароля)

Коли вони поставлять цю команду, вона з’явиться:

2. Просто натисніть [Введіть], через секунду ми знову натискаємо [Введіть], а через секунду ми натискаємо ще раз [Введіть]. Я маю на увазі, ми б натискали [Введіть] загалом три (3) рази, ми лише натискаємо ... ми нічого не пишемо 🙂

Коли ми це зробимо, з’явиться щось подібне до наступного:

Готово, ми вже маємо відкритий ключ ... тепер нам потрібно дати його кому хочемо (як приклад, дайте нашій дівчині ха-ха)

Що ми хочемо, це те ПК №1 підключитися до ПК №2, вже в ПК №1 ми зробили все вищезазначене, в ПК №2 Ми нічого не зробили. Добре, ПК №2 наприклад, має IP-адресу 10.10.0.5.

3. Ми ставимо ПК №1 наступний:

  • ssh-copy-id root @ 10.10.0.5

Це просто дає вам відкритий ключ ПК №1 a ПК №2, тобто дає ПК №2 відкритий ключ ПК №1У той час як ПК №1 він знає, він зберігає свій приватний ключ; той ключ, який нікому не дано. Важливо не допускати помилок з користувачем, тобто якщо користувач “корінь"Це не існує в ПК №2, це дасть нам помилку, важливо чітко визначити, в якому користувачі ми будемо використовувати для цього, крім того, що той користувач, у якого ми налаштовуємо доступ без пароля, буде тим самим, з яким ми повинні мати доступ в майбутньому. Після цього це повинно виглядати так:

На попередньому кроці вони повинні ввести пароль користувача ПК №2.

І вуаля ... все налаштовано 😀

Як нам здається в терміналі, давайте перевіримо, чи все справді працювало на 100% нормально. Для перевірки ставимо:

  • ssh root@10.10.0.5

Якщо вони хочуть отримати доступ до іншого комп'ютера також не завжди вводячи пароль (ПК №3 наприклад), ми просто даємо йому наш відкритий ключ, і все, тобто, як тільки ми зробили крок #1 y #2 нам більше не доведеться цього робити. Якщо ми хочемо отримати доступ ПК №3 наприклад, який має за IP 10.10.99.156 ми просто ставимо:

  • ssh root@10.10.99.156

Поки що підручник.

Поясніть, що рівень безпеки, коли ми говоримо про SSH, насправді високий, метафора, з якою я пояснив деякі кроки (передача ключа нашій дівчині), може бути не найбільш підходящим ха-ха, оскільки наша дівчина може дати ключ хтось інший. Коли ми говоримо про SSH, принципи безпеки легко пояснити, коли ми намагаємось отримати доступ до нашого комп’ютера (ПК №1) перевіряє, чи є в ПК №2 відкритий ключ нашого комп’ютера (в даному випадку є, тому що ми налаштовуємо його таким чином), тоді, якщо він є, це просто, перевірте, чи відповідає цей відкритий ключ ідентично нашому приватному ключу (той, який ми нікому не давали). Якщо ключі однакові, це дозволяє нам отримати доступ, інакше і як засіб безпеки, це не дозволяє нам віддалено отримати доступ до іншого комп'ютера.

Отже, тепер ви знаєте ... давати нашій дівчині ключ від будинку - не найбезпечніше, але спільне використання ключів та віддалений доступ до іншого комп’ютера через SSH безпечно ^ _ ^

Сумніви чи запитання, скарги чи пропозиції дають мені знати.

Вітаю всіх.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   elav <° Linux - сказав він

    Я справді не розумію, як ти такий параноїчний щодо безпеки робиш таку помилку. Якщо на кроці, де написано:

    Enter passphrase (empty for no passphrase)

    Ми нічого не пишемо, ми губимося, якщо користувачеві вдається отримати доступ до нашого ПК і відкрити термінал, оскільки він автоматично виконує:

    ssh root@10.10.0.5

    Він увійде, не запитуючи пароль.

    1.    KZKG ^ Гаара <° Linux - сказав він

      Якщо хтось отримає доступ до мого ноутбука, так, він зможе отримати доступ до ПК №2 без необхідності вводити його пароль, однак, як ви кажете, я параноїк щодо безпеки, чи справді ви думаєте, що отримання доступу до мого ноутбука - це щось так просто? ХАХА.

      Коли я завжди встаю, я завжди блокую екран, інакше через 30 секунд, коли на миші чи клавіатурі ноутбука не буде активності, він все одно заблокується 😉

      1.    Ісус - сказав він

        Якщо хтось викраде ваш ноутбук, незалежно від того, наскільки заблокований сеанс, отримання доступу до файлів є тривіальним, справа 5 хвилин із завантажувальним Linux з USB. І після доступу до файлів, оскільки приватний ключ незахищений, ви можете використовувати його безпосередньо, а краще скопіювати та отримати доступ до будь-якого із ваших серверів із дому. Насправді процес настільки швидкий, що про це навіть не довелося б знати. Через 5 хвилин ви йдете у ванну або що завгодно, все можна зробити.

        Безпечний спосіб - це встановити пароль на закритий ключ, а потім використовувати ssh-agent, щоб він запам'ятав пароль на весь сеанс (просто ssh-add). Таким чином, він лише вперше запитає пароль, і на практиці у вас буде зв’язок без пароля 90% випадків, крім того, що ви захищаєтеся від крадіжок або вторгнень.

        1.    x11tete11x - сказав він

          тривіальний доступ до файлів? Ви коли-небудь чули про повне шифрування диска? (luks + cryptsetup)

          1.    Ісус - сказав він

            Так, звичайно, якщо у вас зашифрований весь диск, це вже інша історія, але 90% користувачів цього не роблять, оскільки вони не знають, як це зробити, і в багатьох випадках це навіть не компенсує їх. На відміну від цього, не зберігати на диску незашифровані паролі чи незахищені приватні ключі - це те, що може зробити кожен, і загалом хороша практика.

            Зберігати незахищені приватні ключі на зашифрованому диску - все одно, що паркувати свою машину, залишаючи двері відчиненими, але найняти охоронця з доберманом для її захисту. Так працює, але набагато простіше і ефективніше безпосередньо заблокувати його.

    2.    шанголеон - сказав він

      MMm не роблять так багато для мінету, хоча вони можуть створити віртуальний інтерфейс, призначити IP і підключитися до цього віртуального IP, тому навіть якщо вони видаляють ключ, вони не зможуть знайти машину, оскільки ключ працює лише для певного IP. Це також залежить від того, що вони хочуть, для мене це прекрасно працює, як це описує товариш, у мене вдома є приватний сервер, мені не потрібно підвищувати безпеку, оскільки у нього налаштована VPN.

  2.   Самкехо - сказав він

    І чи все це може стосуватися терміналу Windows, який повинен підключатися до декількох * NIX?
    У мене є шпаклівка, але я також можу використовувати Securecrt (тепер у мене є сценарій)

    1.    KZKG ^ Гаара <° Linux - сказав він

      У терміналі Windows (cmd) я переконаний, що ні, там це буде неможливо.
      Однак якщо ви використовуєте шпаклівку, ви можете спробувати, це може спрацювати.

      Вітаємо та ласкаво просимо на наш сайт 😀

    2.    erm3nda - сказав він

      Шпаклівка вже приймає параметр -pw у додаткових командах. (наприклад: -pw12345)
      Насправді, Super Putty крутіший, ніж просто шпаклівка. (Це рамка для шпаклівки)

      Тож вам не потрібно його ставити.

  3.   Хігі - сказав він

    Дякую за допис, дуже корисно. Входити в SSH для всього трохи нудно.

    1.    KZKG ^ Гаара - сказав він

      Привіт і велике спасибі за ваш візит та коментар 🙂
      Нічого, друг, приємно знати, що це було корисно ... якщо ми можемо допомогти вам будь-яким іншим способом, ми більш ніж раді 😉

      Привітання та ласкаво просимо на сайт.

      1.    adriext - сказав він

        Мені потрібно підключитися до комп'ютера windonws зі свого Linux, як і зі свого терміналу

  4.   Роберто - сказав він

    Відмінно .. це справді надихає бачити такий тип підручників, це викликає у мене бажання також внести свій досвід, який вже був спрощений, щоб громада могла ними скористатися. Дякую від Сальвадору.

  5.   Хосе Грегоріо - сказав він

    Я підключаюся до машини з ubuntu до тієї, яка має debian, але це видає мені помилку, в якій він не може автентифікуватися, і тому запитує у мене пароль. Це те, що версії ssh-keygen різняться, або що відбувається?

    1.    KZKG ^ Гаара - сказав він

      Помістіть тут помилку, яку вона дає вам, щоб допомогти вам краще 😉
      Крім того, ви можете спробувати помістити це в термінал:
      sudo mv $HOME/.ssh/known_hosts /opt/

      Це робить очищення з’єднань (історії підключень) SSH, які у вас були.

  6.   Кінон - сказав він

    І якби я хотів використовувати один і той же відкритий ключ для кількох серверів, чи міг я це зробити, чи мені потрібно створити ключ для кожного сервера, до якого я хочу отримати доступ? Я все одно спробую, але на якомусь марному сервері, щоб не зіпсувати щось корисне.

    Дякую і вітаю.

    1.    KZKG ^ Гаара - сказав він

      Як я це робив на своєму ноутбуці, це різний ключ для кожного сервера, насправді, я думаю, що не можна використовувати один і той же ключ для кількох ... оскільки ідентифікатор кожного сервера унікальний, як відбиток пальця 🙂

      привіт

      1.    Кінон - сказав він

        Привіт володар піску. Я читав ключі і виявив, що пара ключів (відкритих та приватних) служить серверу-клієнту для надсилання та отримання викликів і, таким чином, ідентифікації один одного, тому це не має нічого спільного з паролем, який ви використовуєте для доступу до server, останній використовується для "вставки" відкритого ключа в надійні сервери. Тож ви можете використовувати його скільки завгодно чи що потрібно.

        Я не знаю, чи пояснював я себе, але жарт полягає в тому, що для того, щоб мати змогу використовувати свою пару ключів на інших серверах, після того, як ви дотримуєтесь вашого підручника, вам просто потрібно зробити:

        ssh-copy-id other.user@otra.ip
        напишіть свій пароль для цього іншого сервера

        І готовий.
        привіт

  7.   Рауль - сказав він

    Привіт, дякую за керівництво, це єдине, що мені допомогло. Тепер, коли я хочу зробити це на іншій парі комп’ютерів, я отримую таке:

    $ssh-copy-id -p 4000 lm11@148.218.32.91

    Поганий порт 'умаска 077; тест -d ~ / .ssh || mkdir ~ / .ssh; cat >> ~ / .ssh / дозволені_клавіші '

    Спасибі за вашу допомогу.

  8.   німецька - сказав він

    Я зробив те, що ви нам сказали, але він постійно запитує у мене пароль. Я уточнюю цей зв’язок між двома серверами Linux Red Hat ... Що ще може бути?

    Я вже переглядав / etc / ssh / sshd_config

    Я вже перезапустив обидва сервери

    PC2 = Linux Red Hat 6.4
    PC2 = Linux Red Hat 5.1

    1.    Ксавьє - сказав він

      Служба ssh повинна бути правильно налаштована (файл / etc / ssh / sshd_config на PC2), щоб вона працювала.

  9.   німецька - сказав він

    виправлення ...

    ПК1 = Centos 6.4
    PC2 = Red Hat 5.1

  10.   Грівас - сказав він

    Привіт колеги, мені потрібно встановити відносини довіри між 1 сервером Linux Centos 5.3 та Unix Sco5.7, але у мене проблема, що при виконанні кроку 3 копіювання ключа з Linux в Unix я отримую повідомлення / usr / bin / ssh-copy-id: ПОМИЛКА: Ідентифікаторів не знайдено, чому це може бути?

    Грекіас

  11.   Namek - сказав він

    Я дотримувався покрокового підручника. Це не призводить до помилок, але врешті-решт, коли я підключаюся з PC1 до PC2, він постійно запитує у мене пароль користувача під час кожного підключення.

    Хтось думає, що це може бути?

  12.   Грабувати - сказав він

    Здається, що після генерації ключа вам потрібно виконати ssh-add, щоб агент автентифікації міг його використовувати.

  13.   андреа колодро - сказав він

    Як видаляю ключ доступу, він нічого не розпізнає, мене зламали, допоможіть, він нічого не вводить

  14.   Йорданська акоста - сказав він

    Щиро дякую, це спрацювало ідеально

  15.   мінімініо - сказав він

    Щиро дякую за путівник! Це дуже просто і стає в нагоді, коли у вас є сервери, які ходять, і вам не потрібно вводити ключі і тим самим автоматизувати речі 😀

  16.   erm3nda - сказав він

    Спасибо.

    Я не знав про використання ssh-copy-id, і це було досить автоматично.
    Правда полягає в тому, що я був до точки написання пароля, тож те, що я роблю, - це зберегти його за допомогою перефрази DEFAULT, яка зберігається під час сеансу.

    Я не проти писати це один раз кожного разу, коли вмикаю ПК, рулон повинен ставити його кожен раз, коли він відключається або подібні речі 😀

    SSH Ні дзюцу!

  17.   лізз - сказав він

    Привіт

    хороший підручник ... але якщо я хочу передати інформацію ??? як я можу це зробити?

  18.   Дієго Гонсалес - сказав він

    Привіт, Ваш внесок дуже цікавий, але я маю пару сумнівів щодо подібної теми

  19.   Карлос Ернандес - сказав він

    Здравствуйте.

    Спробуйте виконати наведені вище дії, але при спробі скопіювати ключ на сервер 2 (PC2) він повідомляє мені, що команда не існує.

    bash: ssh-copy-id: команду не знайдено

    Чи можу я скопіювати ключ вручну?

  20.   хайді - сказав він

    Відмінно !! Я шукав такого простого пояснення, і воно спрацювало ідеально

    спасибі!

  21.   Ярумал - сказав він

    Відмінний внесок.
    Щиро дякую, це мені дуже допомогло.

  22.   Пітер - сказав він

    Привіт, мені цікаво, чи є спосіб зробити цю команду ssh-copy-id. Оскільки я встановлюю Open ssh для Windows, ssh працює для мене в DOS, але у нього немає цієї команди ssh-copy-id. Я хотів би знати, як надіслати цей відкритий ключ на інший сервер Linux (сервер Linux). Дуже дякую.

  23.   Пітер - сказав він

    Привіт. Мені потрібно встановити відносини довіри між сервером Linux і машиною Windows. Встановіть SSH для Windows, і він працює для мене. Але ця команда ssh-copy-id недоступна в цьому інструменті.

    Вони знають про інший спосіб зробити це без використання ssh-copy-id.

    Дякуємо за ваші коментарі.

  24.   Андріньо - сказав він

    Але питання цього полягає в можливості підключення без пароля, якщо ми поставимо парольну фразу, вона буде вимагати у нас цей пропуск для підключення, і це не було метою цього

  25.   Андріньо - сказав він

    Мені це було дуже корисно для мого комп’ютерного модуля fp, дякую 🙂

  26.   Vicent - сказав він

    Спасибо!

  27.   x-man - сказав він

    Деякі турбуються про те, наскільки неприємним може бути введення пароля (парольної фрази), адже, як вони вже говорили вище, це «user-Agent», і що я також налаштовую його на Keepass та його функцію автоматичного введення, тому я просто Я викликаю термінал, і за допомогою комбінації ключів, які вони налаштували готовими, у мене також є "псевдоніми" для кожного запиту, і все дуже легко.

    Хороший підручник.

    Майте багато розваг !!

  28.   Феліпе Оярсе - сказав він

    Дуже гарна інформація 🙂 але у мене питання ...

    У мене є PC10, де я зберігаю інформацію, інформація надсилається з pc1 - pc2 - pc3 на PC10, як я можу змусити pc1, pc та pc3 використовувати той самий ключ для доступу до PC10 без ключа.

    Вітаємо…

  29.   Nestor - сказав він

    Як я можу перерахувати те, що знаходиться в машині1 в басі машини2, не збираючись розміщувати ssh ip @ хости в баші машини1. Я не знаю, чи розумію xD

  30.   Мартін - сказав він

    З цієї публікації минуло 10 років, і я постійно відвідую її, коли мені це потрібно. Як і деякі інші підручники тут, вони витримали випробування часом. Дякую і вітаю!