Настройване на SSH сървър (ssh без въвеждане на парола), Онлайн дневник за Linux

Настройване на SSH сървър (теория и практика)

Тази публикация обхваща методи като използване на ssh без въвеждане на парола и метода на стандартната парола.

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

Сега няколко думи за това как да удостоверявате потребителите чрез ssh:

** Примерен файл /etc/shhosts.equiv:

Удостоверяване на потребителя чрез неговия публичен ключ.

Използвайте програмата ssh-keygen, за да генерирате двойка ключове. За да посочите типа ключ, посочете ssh-keygen -t например, ssh-keygen -t rsa ще създаде 1024-битова двойка RSA ключове. За да посочите файла, в който да запазвате ключовете, можете да използвате опцията (традиционно използвани файлове $ HOME/.ssh/id_rsa и $ HOME/.ssh/id_dsa за ключовете rsa и dsa съответно), за да укажете дължината на ключа в битове, използвайте опцията :

Основно удостоверяване с парола.

Тук може да се отбележи само едно: във всеки случай асиметричните ключове се обменят първо и хешът на паролата се предава в криптирана форма. Удостоверяването с парола е най-често използваното, но честно казано, ssh предлага по-удобни методи за удостоверяване и IMHO можете да ги използвате, ако ssh има всички кръпки. И, разбира се, протокол версия 1 трябва да бъде напълно изключен. И така, нека започнем да настройваме ...

Мисля, че в този пример всичко е обяснено достатъчно подробно и ще кажа само това: в повечето случаи опциите по подразбиране работят добре, трябва само да деактивирате поддръжката за ssh версия 1 и да конфигурирате необходимите методи за удостоверяване (с изключение на паролата) и посочете пътищата за достъп до ключовете. Това завършва с настройка на клиента и конфигуриране на сървъра. Конфигурационният файл на sshd сървъра се намира на / etc/ssh/sshd_config, и много от параметрите му съвпадат с тези в ssh_config, но няма дефиниции на хост, както беше в ssh_config. Все пак ще дам пример за sshd_config, така че да не възникват допълнителни въпроси:

Е, всичко изглежда е настроено! Сега бих искал да говоря за някои от функциите, които работят в ssh. Първо, бих искал да говоря за тунели. SSH има вградена способност за прехвърляне на данни от локален порт към отдалечен с помощта на мрежов тунел и данните, предавани през този тунел, ще бъдат криптирани. Тоест, удостоверяването се извършва на отдалечената система и след това трафикът пренасочва през тунела. По този начин всеки трафик може да бъде пренасочен и протоколът XY може да работи в интерактивен режим, за това трябва да активирате подходящите опции в конфигурационните файлове на сървъра и клиента (това беше описано по-рано). За други портове трябва да извикате ssh с параметъра -L::