Статьи

Faq по OpenSSH в російській редакції

  1. 1.0 - Що таке OpenSSH і Де Я можу його взяти?
  2. 3.0 - Питання пов'язані з Портабельная версіями OpenSSH.
Date: 2001/02/26

Українська редакція: Андрій Лаврентьєв ( [email protected] ) Date: 2001/05/30

1.0 - Що таке OpenSSH і Де Я можу його взяти?

2.0 - Основні Питання.

3.0 - Питання пов'язані з Портабельная версіями OpenSSH.

OpenSSH це ВІЛЬНА версія відомого набору мережевого інструментарію SSH, кількість шанувальників і користувачів якого в Internet істотно зросла і продовжує зростати. Більшість користувачів таких програм як telnet, rlogin, ftp, та інших подібних програм не знають або усвідомлюють що ці програми передають по мережі призначені для користувача паролі в нешифрованому вигляді на відміну від OpenSSH. OpenSSH шифрує весь переданий трафік (включаючи паролі) і ефективно запобігає підслуховування, похіщеніе.перехват з'єднань та інші види мережевих атак.

Пакет OpenSSH включає в себе ssh (1) програму для заміни таких засобів як rlogin і telnet, програму scp (1) яка замінює такі кошти як rcp (1) і ftp (1) . Нещодавно в OpenSSH були реалізовані і додані sftp (1) і sftp-server (8) які реалізують просту передачу файлів.

OpenSSH consists of a number of programs.

  • sshd (8) - Серверна програма для запуску на серверній машині. Ця програма слухає мережеві запити від віддалених - клієнтських машин, і при отриманні запиту на з'єднання проводить необхідні дії, авторизацію віддаленого клієнта і в разі її проходження запускає необхідну службу для віддаленого клієнта.
  • ssh (1) - Це клієнтська програма, яка використовується для входу на іншу машину мережі або виконання команд на віддаленому комп'ютері. slogin це інше ім'я цієї ж програми.
  • scp (1) - Безпечне копіювання файлів з однієї машини на іншу.
  • ssh-keygen (1) - Використовується для створення Публічних авторизаційної ключів (RSA or DSA) як для хостів (комп'ютерів), так і для користувача.
  • ssh-agent (1) - Авторизаційний Агент, який використовується для зберігання особистих RSA ключів в пам'яті, для подальшої авторизації з використанням публічних ключів.
  • ssh-add (1) - Використовується для додавання нових особистих ключів авторизаційному агенту ssh-agent.
  • sftp-server (8) - Підсистема SFTP сервер.
  • sftp (1) - програма безпечної передачі файлів.
  • ssh-keyscan (1) - програма для збору ssh публічних ключів в мережі.

OpenSSH це набір програм для забезпечення безпечної роботи в мережі, нижче наводиться перелік наданих можливостей цього інструментарію:

  • Сувора авторизація. Виправлено велику кількість дірок в безпеці. (Наприклад IP, routing, і DNS spoofing).
  • Посилено безпеку. Всі з'єднання автоматично і прозоро шифруються.
  • Безпечна робота X11 сесій. Програми автоматично встановлюють змінну DISPLAY на віддаленому сервері, і перенаправляють будь-які з'єднання X11 за захищеними шифрованих каналах.
  • Довільні TCP / IP порти можуть бути перенаправлені через шифровані канали в обох напрямках (наприклад, для e-cash транзакцій).
  • Немає необхідності перепідготовки звичайних користувачів.
  • Ніколи не довіряти мережі. Мінімальна довіру з'єднанню з віддаленої сторони. Мінімальна довіру серверів доменних імен. Чистий RSA авторизація не довіряє нічому крім особистих ключів.
  • Клієнт авторизує сервер по RSA на початку кожного з'єднання для захисту від трянскіх коней (routing або DNS spoofing) і man-in-the-middle атак, і сервер в свою чергу авторизує по RSA клієнта, до прийняття авторизації через .rhosts або / etc / hosts.equiv щоб в свою чергу захистити себе від атак (DNS, routing, або IP-spoofing).
  • Поширення публічних ключів хостів може проводитися централізовано адміністраторами мережі або автоматично при встановленні з цим хостом першого з'єднання.
  • Будь-який користувач може створити будь-яку необхідну для своїх потреб кількість авторизаційних ключів RSA.
  • Програма сервер має свій власний RSA ключ сервера який автоматично змінюється, за замовчуванням кожну годину.
  • На додаток можна використовувати авторизаційний агент щоб зберігати в пам'яті RSA авторизовані ключі користувача лаптопа, нотбука або робочої станції.
  • OpenSSH може бути встановлений і використаний (з деякими обмеженнями) навіть без привілеїв суперюзера root.
  • Конфігурація клієнтська частина може бути змінена як у відповідних системних конфігураційних файлах, так і в конфігураційних файлах самих користувачів.
  • У разі якщо на віддаленому сервері не використовується або не працює серверна програма sshd, клієнт автоматично спробує перейти на роботу через rsh якщо він підтримується сервером і при цьому буде видано відповідне повідомлення.
  • При роботі може бути використана компресія всіх даних за допомогою використання gzip (включаючи форвардірованіе з'єднань X11 і перенаправлення TCP / IP портів), причому компресія може значно підвищити швидкість роботи, особливо на повільних з'єднаннях / каналах.
  • Повна заміна засобів rlogin, rsh, і rcp.

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

Коли ви здійснює візит на віддалений комп'ютер в мережі, ваш пароль передається в мережі відкритим текстом. Тому будь-який підслуховує ваш login і пароль в мережі, зможе ним скористатися щоб зробити будь-яку мерзенність яку він побажає. Більшість подібних инцендентов спостерігалося на тих комп'ютерах в мережі, які залишилися без компетентного адміністрування і на них були встановлені програми прослуховування мережі і збору паролів. Подібні програми вільно доступні в мережі Internet або можуть бути написані компетентним програмістом за кілька годин.

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

Багато компаній не уявляють що інформація так легко може бути залучена при наявності доступу в мережу. Вони вважають що їх дані в безпеці бо нікому не відомо що інформація в мережі може бути підслухана або тому що кількість переданих в мережі даних занадто велике. Це не безпечна політика.

Незважаючи на те що OpenSSH розроблений в рамках проекту OpenBSD проте існує маса його портів для інших операційних систем. Проект портирования версій OpenSSH очолює Damien Miller . Для швидкого огляду портірованних версій OpenSSH дивіться: http://www.openssh.com/portable.html . Короткий список інших OS's які підтримують OpenSSH, наведено нижче.

  • OpenBSD
  • NetBSD
  • FreeBSD
  • AIX
  • HP-UX
  • IRIX
  • Linux
  • NeXT
  • SCO
  • SNI / Reliant Unix
  • Solaris
  • Digital Unix / Tru64 / OSF
  • MacOS X

Список виробників які включають OpenSSH в свої дистрибутиви можна знайти на сторінці www.openssh.com/users.html .

Розробники OpenSSH доклали багато праці і зусиль щоб зберегти цей проект вільним від будь-яких патентів або проблем з copyright. Щоб реалізувати це довелося накласти обмеження для деяких опцій, а саме, для запатентованих алгоритмів.

OpenSSH не підтримує запатентовані транспортні алгоритми. У режимі роботи SSH1, підтримуються опції для 3DES і Blowfish. У режимі роботи SSH2, можна використовувати лише алгоритми 3DES, Blowfish, CAST128, Arcfour і AES. Запатентований алгоритм IDEA не підтримується.

OpenSSH забезпечує підтримку обох протоколів і SSH1, і SSH2.

З тих пір як минув час обмеження на використання патенту RSA, більше не існує обмежень на використання алгоритму RSA в програмних продуктах, включаючи OpenBSD.

Існує маса місць в Internet де можна отримати допомогу або консультації, на додаток до основного вебсайту OpenSSH: http://www.openssh.com , Існує багато списків розсилки, можете скористатися ними. Однак перед тим як поставити запитання в ці списки, попередньо поіщіті необхідну вам інформацію через пошук по архівах цих списків розсилки, щоб не повторювати питання на які вже відомий і була дана відповідь. Один зі списків і архів можна знайти за посиланням: theaimsgroup.com .

Більш детальну інформацію по підписці на OpenSSH і пов'язані з ним списки розсилок можна знайти на сторінці: www.openssh.com/list.html .

Клієнт OpenSSH використовує номера портів з нижньої частини, ті ssh_config або ~ / .ssh / config файли.

Або ви можете скористатися зазначеним вище сервісом через командний рядок, використовуючи -o опцію ssh (1) команди.

$ Ssh -o "UsePrivilegedPort no" host.com

В продовження попереднього питання, ( 2.1 ) OpenSSH повинен іметьroot привілеї щоб відкрити нижні порти

У SSH версій 2.3 і молодше є недолік в реалізціі HMAC. Замість того, щоб посилати повний блок даних дайджесту, код цих версій завжди обмежується 128 бітами. При використанні більш довгих дайджестів SSH 2.3 несумісний з OpenSSH.

OpenSSH 2.2.0 розпізнає цей дефект SSH 2.3. Ця помилка буде виправлена ​​в нових версіях SSH. Уникнути цю ситуацію в SSH 2.3 допоможе додавання рядка в / etc / sshd2_config такого вигляду:

Крім дефектної (кривої) реалізації HMAC, була помічена наступна проблема: OpenSSH не підтримує функцію рекеінга (rekeying). SSH 2.3 намагається істользовать цю функціональність. В результаті ви можете отримати зависла сесію або повідомлення про помилку "Dispatch protocol error: type 20". Для вирішення цієї проблеми або використовуйте SSH версії 2.4 і вище, або додайте наступний рядок в файл конфігурації SSH версії 2.3 sshd_config для відключення рекеінга:

Більш ранні версії SSH використовували патентований алгоритм для шифрування своїх / etc / ssh / ssh_host_key. Ця проблема ясно показує що sshd (8) не зможе прочитати власні ключі. Для вирішення цієї проблеми скористайтеся нижче наведеної командою для перетворення вашого ssh_host_key з використанням методу 3DES. Примітка: Скористайтеся ssh-keygen (1) програмою від Комерційної версії продукту SSH першої версії, * НЕ * від OpenSSH, приклад наведено нижче.

# Ssh-keygen -u -f / etc / ssh / ssh_host_key

програма ssh-keygen (1) з комерційного пакету SSH містила помилки при генерації Публічних ключів (RSA або DSA) в яких був відсутній Most Significant Bit (MSB). Такі ключі представлялися як повноцінні, в той час як це насправді було не так, ті їх довжина була меншою на один біт.

OpenSSH в таких випадках буде видавати попередження, якщо зустріне такі ключі. Щоб позбутися від подібних повідомлень, відредагуйте ваш файл known_hosts і замініть ключі з некоректним розміром (зазвичай "1 024") на їх реальну довжину (зазвичай "1023"). Слід зауважити, що ці ключі менш безпечні і тому краще замінити їх створивши нові.

Перевірте ваші файли ssh_config і sshd_config. За замовчуванням, в конфігураційних файлах заборонена авторизація та форвардірованіе з'єднань X11. Щоб активувати цих можливостей, помістіть зазначену нижче рядок в конфігураційний файл сервера sshd_config:

і наступні рядки в конфігураційний файл клієнта ssh_config:

ForwardAgent yes
ForwardX11 yes

Примітка: Для користувачів системи Linux Mandrake 7.2, Mandrake змінює значення змінної середовища XAUTHORITY в файлі /etc/skel/.bashrc, і можливо в стартових файлах домашньої директорії користувачів у Кото як SHELL встановлений BASH. Оскільки цю змінну встановлює OpenSSH, закоментуйте рядок в /etc/skel/.bashrc як показано нижче і в інших подібних настройках теж:

# Export XAUTHORITY = $ HOME / .Xauthority

Від версії до версії в конфігураційних файлах OpenSSH sshd_config або ssh_config відбуваються зміни. Будьте уважні і після заміни старої версії на нову завжди перевіряйте які зміни були внесені в конфігурацію нової версії. Наприклад, при переході з версії OpenSSH 2.3.0 до 2.5.1 вам необхідно додати наступний рядок в файл sshd_config

HostKey / etc / ssh_host_dsa_key

sftp і / або scp можуть розривати з'єднання в тому випадку якщо ваші настройки SHELL (.profile, .bashrc, .chsrc, etc) такі, що після ініціалізації середовища відбувається спроба зробити висновок в НЕ інтерактивних сесіях. Цей висновок збиває роботу sftp / scp клієнта і призводить до збою. Перевірити настройки власного shell'а можна виконавши команду:

ssh yourhost / usr / bin / true

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

Портований версії OpenSSH можуть виробляти паразитні повідомлення в лог-файли при кожному вході, подібно до наведеного нижче:

"Authentication failure; (uid = 0) -> root for sshd service"

Ці повідомлення видаються бо OpenSSH спершу намагається визначити який метод авторизації використовує користувач при вході (наприклад empty password). На жаль PAM реєструє будь-які спроби авторизації, включаючи зазначені і записує їх в логи.

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

Щоб дозволити використовувати порожні паролі в OpenSSH, зібраним з підтримкою PAM вам необхідно додати прапор nullok в рядку відповідного модуля перевірки пароля в файлі конфігурації PAM /etc/pam.d/sshd. наприклад:

auth required / lib / security / pam_unix.so shadow nodelay nullok

Це необхідно зробити доповнення до установок "PermitEmptyPasswords yes" в sshd_config файлі.

Існує одне важливе зауваження щодо використання порожніх паролів з PAM авторизацією: PAM буде дозволяти ставити будь-які паролі при авторизації через вхід з порожнім паролем. І це порушує перевірку яку sshd (8) використовує для визначення що даний аккаунт без пароля і гарантованого доступу користувачеві незважаючи на значення вказане в PermitEmptyPasswords. Ось чому в цілях безпеки не рекомендується додавати директиву nullok вашу конфігурацію PAM до тих пір поки у вас не залишилося іншого варіанту як дозволити роботу з порожніми паролями.

Версія бібліотеки glibc поставляється з Redhat 6.1 дійсно займає багато часу для вирішення "IPv6 або IPv4" адрес з доменних імен. Цю проблему можна обійти використовую опцію configure --with-ipv4-default при автоконфігурації OpenSSH перед компіляцією. У той разі OpenSSH буде використовувати тільки IPv4 схему дозволу адрес. (IPv6 метод може бути заданий зазначенням опції -6).

Ядро Linux намагається знайти (через modprobe) і довантажити протокол сімейства 10 (IPv6). Або вручну довантажити в ядро відповідний модуль, або задайте правильний алиас в файлі підвантажуваних модулів /etc/modules.conf або вимкніть підтримку IPv6 в /etc/modules.conf.

Іноді з метою дурень-стійкості файл /etc/modules.conf в Linux може мати ім'я /etc/conf.modules.

В Slackware 7.0, OpenSSH необхідно збирати з крипто-бібліотекою libcrypt.

LIBS = -lcrypt ./configure [options]

Переконайтеся в тому що ваші бібліотеки OpenSSL були зібрані з внутрішньою підтримкою RSA або DSA або через RSAref. Реалізація RSA і DSA включені в OpenSSL і їх використання в OpenSSH залежить від того як були зібрані бібліотеки OpenSSL які використовує OpenSSH.

програма scp (1) повинна знаходиться в директорії яка знаходиться в дорозі / PATH як у клієнта, так і сервера. Якщо ви хочете розмістити цю програму в спеціальній директорії, вам необхідно поставити її в опції --with-default-path в відпо із заданим вами маршрутом програма розшукуватиметься в цьому шляху на сервері. Ця опція замінює пошук в дорозі за замовчуванням, тому вам необхідно вказати всі необхідні директорії для пошуку в дорозі, включаючи ту де знаходиться програма scp. наприклад:

$ ./Configure --with-default-path = / bin: / usr / bin: / usr / local / bin: / path / to / scp Або просто вкажіть всі необхідні директорії в змінній оточення PATH в налаштуваннях ініціалізації вашого SHELL, включаючи директорію де знаходиться scp.

У деяких операційних системах пристрій / dev / tty має некоректно встановлені права, в результаті чого неможливо прочитати пароль зі свого пристрою, про що і видається помилка:

You have no controlling tty. Can not read passphrase.

Для вирішення цієї проблеми встановіть для пристрою / dev / tty права 0666 і повідомте про цю помилку продавцеві вашої OS.

Якщо у вашому дистрибутиві відсутній файл 'configure' або процес складання `make` завершився з повідомленнями про помилки виду" missing separator ", ймовірно ви завантажили або скачали версію OpenSSH для дистрибутива OpenBSD, а намагаєтеся відкомпілювати на іншій платформі. Будь ласка прочитайте інформацію про портірованних версіях на сторінці portable version візьміть необхідний вам дистрибутив OpenSSH відповідно з посиланнями для вашої OS.

Поточна версія OpenSSH може подвисать при виході. Це зустрічається коли ще залишилися активні фонові процеси. Таке зазвичай зустрічається в системах Linux і HP-UX. Наявність цієї проблеми можна перевірити в такий спосіб: sleep 20 & exit.

Користувачі у яких в якості shell'а встановлений bash, для вирішення цієї проблеми можуть помістити "shopt -s huponexit" в файл / etc / bashrc або в файл ~ / .bashrc. В інших випадках, читайте керівництва по вашому SHELL як вирішити послати сигнал HUP активним процесам при виході.

[email protected]

$ OpenBSD: faq.html, v 1.37 2001/05/22 8:03:24 kevlo Exp $
Українська редакція: Андрій Лаврентьєв ( [email protected] ) Date: 2001/05/30

Спонсори:

Хостинг:



Що таке OpenSSH і Де Я можу його взяти?
Що таке OpenSSH і Де Я можу його взяти?

Новости

Как создать фото из видео
Кризис заставляет искать дополнительные источники дохода. Одним из таких источников может стать торговля на валютном рынке Форекс. Но чтобы не потерять свои деньги необходимо работать с надежным брокером.

Как оформить группу в вконтакте видео
Дано хотел свой магазин в вк, но не знал с чего начать его делать. Так как хотелось не банальный магазин с кучей ссылок и фото, а красиво оформленный. С меню, с аватаркой. После просмотра видео создал

Как оформить диск малыш от рождения до года из фото и видео
Оформить диск "Малыш от рождения до года" из фото и видео можно совершенно разными способами! Кто-то для достижения данной цели идет на шоу-таланты, кто-то пользуется услугами профессионалов, а кто-то