Публикувано
Ако трябва да използвате SSH в Linux за дистанционно управление на други компютри, това ръководство ще ви преведе как да направите точно това.
В днешния взаимосвързан пейзаж способността да се управляват компютри от различни географски местоположения се превърна от лукс в необходимост. Има няколко начина да направите това в зависимост от използваната операционна система. За Linux базирани системи, най-разпространеният и най-сигурен начин за дистанционно управление на вашия компютър е да използвате SSH (или Сигурна обвивка).
Нека да разгледаме как да използваме SSH на Linux за свързване с други компютри.
Важни първи стъпки
Преди да можете успешно да се свържете с друг Linux компютър с SSH, ще трябва да изпълните следните предпоставки:
- Целевият компютър трябва да остане включен и свързан към мрежа.
- Необходимият клиентски и сървърен софтуер трябва да бъде инсталиран и активиран.
- Ще трябва да знаете IP адреса или името на хоста на целевата машина.
- Трябва да има подходящи разрешения за отдалечен достъп.
- Конфигурациите на защитната стена на отдалечения компютър трябва разреши входящата връзка.
Ако имате достъп до компютър с Linux, управляван, да речем, от вашата уеб хостинг компания, те трябва вече да са се погрижили за всичко това. След това може да се наложи да направите основна инсталация на софтуер на собствения си компютър с Linux.
Използване на SSH на Linux: Практическо ръководство
Установяването на функционална SSH връзка изисква както клиентски, така и сървърни софтуерни модули. OpenSSH служи като алтернатива с отворен код предимно за Linux платформи.
За да инсталирате правилния OpenSSH клиент, ще ви трябва терминален достъп на вашата локална машина. Имайте предвид, че системите Ubuntu нямат предварително инсталиран SSH сървър.
Инсталиране на OpenSSH клиент
Преди да се задълбочите в инсталационния процес, трябва да се уверите, че SSH клиентът вече не е там. За да направите това, просто отворете терминален прозорец. Можете да потърсите „терминал“ или да натиснете ctrl + alt + t на вашата клавиатура.
Веднъж в прозореца на вашия терминал, тествайте за наличието на SSH клиента, като напишете следното:
$ ssh
Ако компютърът с Linux вече има инсталиран SSH клиент, ще видите следната информация да се превърта на екрана.
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address] [-S ctl_path] [-W host: port] [-w local_tun[:remote_tun]] destination [command [argument ...]]
Ако вместо това получите оплакване, че файлът не е намерен, ще трябва да продължите с инсталирането на OpenSSH клиент. За щастие, това е достатъчно просто.
В Ubuntu и други базирани на Debian инсталации просто изпълнете следната команда в терминала:
$ sudo apt install openssh-client
Ако използвате Fedora или друго разпределение който използва вкусно вместо ап, просто изпълнете тази команда:
$ sudo yum -y install openssh-clients
По-новите системи Fedora могат да използват dnf вместо. Ако това звучи като вас, магическата команда е:
$ sudo dnf install -y openssh-clients
Следвайте инструкциите на екрана и ще бъдете готови за нула време.
Иницииране на SSH връзка
След като се уверите, че SSH клиентът е инсталиран на вашия компютър с Linux, е време да стартирате тази първа връзка. Докато все още сте в прозореца на терминала, издайте следната команда:
$ ssh username@host_ip_address
Ако потребителските имена съвпадат на локални и отдалечени машини, просто въведете:
$ ssh host_ip_address
Първият път, когато се свържете, ще бъдете посрещнати с подкана, която ви пита дали искате да продължите да се свързвате с непознатия компютър. В този момент въведете да и продължете.
Въведете паролата си, като разбирате, че няма да получите обратна връзка на екрана по време на влизане. След като приключите, трябва да сте влезли в отдалечения сървър и да можете да започнете да изпълнявате всяка задача, която трябва да изпълните на този компютър на първо място.
Разбиране на SSH: Общ преглед на високо ниво
Secure Shell или SSH — понякога означаван като Secure Socket Shell — е протокол, позволяващ сигурна връзка с отдалечени сървъри или компютри чрез текстово базиран интерфейс.
При удостоверяване на защитен SSH канал се инициализира сесия на обвивка, което позволява взаимодействие на командния ред от вашата локална машина.
Този протокол е добре познат и обичан от системните и мрежови администратори, както и от всеки, който се нуждае от сигурно дистанционно управление на машината.
Механика на SSH функционалността
Създаването на SSH канал налага сътрудничеството на два основни компонента: приложение от страна на клиента и неговия аналог от страна на сървъра. Клиентското приложение инициира връзката, като предоставя идентификационни данни за отдалечен хост.
Ако бъде потвърдено, софтуерът създава криптиран канал между двата компютъра. На отдалечената машина SSH демон непрекъснато сканира определен TCP/IP порт за потенциални заявки за връзка.
При получаване демонът предава своите софтуерни и протоколни възможности и двете единици разменят идентификационни данни. Следва криптирана сесия, ако идентификационните данни съвпадат, предимно чрез SSH протокол версия 2.
Разширено използване на SSH: Съхранявайте вашия ключ за шифроване, за да избегнете въвеждането на парола
Сега, да речем, че искате да избегнете необходимостта въведете паролата си всеки път, когато влезете в отдалечен сървър. За сигурна връзка без парола с друг компютър, SSH (Secure Shell) ключ е незаменим.
Може вече да притежавате такъв ключ, но генерирането на нов никога не е лоша идея. Произхождайки от вашия локален компютър, SSH ключът е разделен на два отделни елемента: поверителен, частен ключ — който никога не трябва да се разкрива — и публичният му аналог. Този публичен ключ след това се разпространява във всички отдалечени системи, в които трябва да влезете.
Някои хора могат да изберат един SSH ключ за множество приложения, вариращи от отдалечено влизане в системата до GitLab. Един ключ за управление на всички, може да кажете. Моят подход обаче е по-подробен. Използвам различни ключове, всеки предназначен за специфична подгрупа от задачи.
Например, използвам специален ключ за локални машини в рамките на моята домашна мрежа, друг изключителен ключ за уеб сървъри под моята администрация и още един уникален ключ за взаимодействие с Git домакини.
Създаване на нова двойка SSH ключове
Ето как можете да създадете нов SSH ключ и след това да го копирате на отдалечения сървър, за който искате да го използвате. Първо създайте ключа с помощта на ssh-ключ.
$ ssh-keygen -t ed25519 -f /.ssh/lan
Знамето -T указва вида на ключа за създаване, като гарантира, че криптирането е по-високо от стандартното. The -f флаг задава името и местоположението на файла на ключа.
Когато издадете тази команда, ще бъдете подканени да създадете парола за ключа. Тази парола, ако я зададете, остава локална и не се изпраща през мрежата.
Изпращане на вашия SSH ключ към отдалечения сървър
След това ще трябва да изпратите този ключ за сигурност на отдалечения сървър. За да постигнете това, просто издайте тази команда:
$ ssh-copy-id -i /.ssh/lan.pub user@host_ip_address
Ще бъдете подканени да въведете вашата парола за вход на отдалечения хост. След като процесът приключи обаче, вашият ключ ще бъде инсталиран на този компютър.
Трябва да тествате, като се опитате да влезете в отдалечения компютър. Когато отново направите ssh в отдалечения хост, ще бъдете помолени за паролата за ключа, ако сте задали такава. Това не е вашата парола за вход, запомнете. Това е паролата, специфична за този SSH ключ.
В много дистрибуции, включително Linux, тази подкана за парола ще се отвори като диалогов прозорец. Както можете да видите от примера по-долу, можете да поставите отметка в квадратче, за да накарате компютъра с Linux да запомни паролата. Това обаче ще намали сигурността на ключа.
След като въведете паролата за вашия SSH ключ, не трябва да я въвеждате отново, докато не излезете от локалния компютър.
Други начини за използване на SSH
След като всичко това е направено, можете да използвате SSH за отдалечен достъп до други компютри, базирани на Linux или Unix. Разбира се, не всичко е да стигнете до командния ред.
SSH също така включва защитен начин за прехвърляне на файлове между компютри без използване на FTP. Можете да използвате защитено копие или scp, за да преместете тези файлове наоколо. Ако сте потребител на Windows 11 и трябва да използвате SSH, имате късмет, тъй като клиентът е предварително инсталиран. Можеш дори генерират и използват SSH ключове в Windows 11.