Протоколът Secure Shell е често срещан начин за свързване с отдалечена машина чрез клиент/сървър приложения. Той използва набор от инструменти като ssh, scp и sftp, наред с много други, за да осигури защитен процес на удостоверяване и криптирана комуникация, която следва. Поради това тези инструменти заменят други по-стари набори от инструменти за дистанционно изпълнение на команди като telnet, rcp и rlogin.
В това ръководство ще научите как да инсталирате и активирате OpenSSH сървърни/клиентски услуги във вашата машина. Той също така обхваща всички необходими команди (SSH инструменти) за достъп и дистанционно управление на системи и прехвърляне на файлове между тях.
Първи стъпки с SSH
По подразбиране повечето Linux системи включват ssh клиентските и сървърните приложения. Пакетите, които включват ssh инструменти в RHEL и Fedora дистрибуции са openssh, openssh-server и openssh-client. Използвай grep команда за извличане на ssh инструменти от инсталирания списък:
yum списък инсталиран | grep openssh
Докато Ubuntu включва само пакет openssh-client, който също съдържа пакет openssh. Използвайте командата grep, за да изброите openssh пакети в Ubuntu, както следва:
sudo dpkg --списък | grep openssh
sudo apt-get install openssh-server
Иницииране/активиране на SSH услуга
Управлението на услугата openssh може да варира от дистрибуция до дистрибуция и независимо от конфигурациите по подразбиране, тя не се стартира автоматично. Използвайте следния набор от команди, за да сте сигурни, че услугата работи и работи на вашата Linux машина:
systemctl status sshd.service #за Fedora и RHEL
systemctl status ssh #за Ubuntu
Ако не работи, проверете състоянието на услугата, както следва:
systemctl стартирайте sshd.service #за Fedora и RHEL
systemctl ssh start #за Ubuntu
За да стартирате openssh-сървъра веднага щом системата се стартира:
systemctl активира sshd.service
systemctl ssh активиране
Сред много други инструменти за използване SSH протокол за отдалечен достъп до системата Linux, най-често използваната е командата ssh за отдалечен код изпълнение и влизане, където scp и rsync са полезни при копиране на един или повече файлове между клиента и сървър.
Разделът обхваща задълбочени подробности за обсъдените по-горе команди за ефективно дистанционно управление.
Отдалечено влизане
SSH е командата, която най-често ще използвате за отдалечена конфигурация на вашия Linux сървър, изпълняващ sshd услуга. Използвайте командата ssh, за да проверите дали можете да влезете във вашия Linux сървър за изпълнение на команда.
Можете да използвате друга Linux машина, за да влезете в сървъра си, или можете да получите представа за нея, като я симулирате над вашия локален хост както следва:
За отдалечено влизане в акаунт в Ubuntu на X.X.X.X (където X.X.X.X е IP адресът на отдалеченото устройство):
ssh [email protected]
За отдалечено влизане като локален потребител:
ssh локален хост
Ако влизате за първи път на отдалечения сървър, той ще ви подкани за потвърждение за свързване със системата, въведете да и въведете паролата на потребителския акаунт.
След като влезете, можете да продължите с дистанционното изпълнение на командата, тъй като то е подобно на обикновеното влизане, с единствената разлика, че отдалечената комуникация е криптирана.
След като сте готови, въведете изход команда за прекратяване на сесията и връщане към вашата локална система. Ако не успее да затвори отдалечената обвивка, ~. клавишите също изпълняват подобна задача и извеждат „Връзката към X.X.X.X затворена“.
Дистанционно изпълнение
Командата ssh позволява изпълнение на команди на отдалечената система и връща изхода на локалната машина. Например,
Следната команда се изпълнява като потребител ubuntu на отдалечения сървър и връща име на хост:
ssh [email protected] име на хост
За да изпълните команда, която включва опции или флагове, оградете я в двойни кавички, както следва:
ssh [email protected] "cat /tmp/new_file"
Горната команда връща съдържанието на горния файл на вашия локален екран.
Можете също да изпълнявате множество команди, без да се свързвате отново всеки път, като активирате препращане на X11 на вашия сървър. Отвори sshd_config файл вътре /etc/ssh директория и набор X11 Препращане да се да както следва:
Сега изпълнете командите, както следва:
ssh -X [email protected] име на хост и котка /tmp/new_file/ & изход
Копиране на файл чрез scp и rsync
В scp команда ви позволява да прехвърляте/копирате файлове от дистанционно към локалната система и обратно. Функционалността му е подобна на командата rcp, но с RSA криптирана комуникация. Следват някои примери.
Копирайте файл от /etc/demo директория на отдалечената машина към нейната /tmp папка, както следва:
scp [email protected]:/home/ubuntu/demo/file /tmp
Това също така позволява рекурсивно копиране, което означава, че можете да предоставите командата с директория и тя копира всички файлове/папки надолу по йерархията в друга локална директория.
scp -r localhost:/home/ubuntu/ /tmp
Можете също да използвате командата scp за архивиране на файлове и директории, но rsync е по-добра помощна програма за архивиране поради няколко причини:
- scp няма възможност да запази разрешения за файл/директория и час/дата.
- Освен това не може да идентифицира вече копирани файлове и директории.
Сега избройте съдържанието на горните директории, за да видите разрешенията на файла и времето на създаване, както следва:
ls -l /etc/demo /tmp/demo
Повторете командата scp по-горе и избройте отново директориите, за да проверите дали замества вече копирания файл/директории от неговия времеви печат:
Свързани:Сигурно копирайте файлове в Linux с командата Scp
В -p флаг за командата scp може да помогне за запазването на времевата марка или разрешенията за запис, но все пак замества вече копираните файлове. За да преодолеете тези недостатъци, използвайте rsync като инструмент за архивиране. Изтрийте файловете първо в /tmp директория, за да продължите с примера по-долу. Използвайте командата rsync с -а флаг за рекурсивно архивиране и -v опция за многословно копиране на /home/ubuntu/demo файлове към /tmp директория, както следва:
rsync -av [email protected]:/home/ubuntu/demo /tmp
Избройте /tmp директория, за да отбележите как запазва времето на създаване на файл или директория.
И накрая, повторете rsync команда, за да се уверите, че не копира нито един файл.
Запознаване със SSH
Статията е ръководство за най-широко използвания протокол за дистанционно управление на Linux сървъри. Показваме как да използвате най-важните SSH команди с някои съвети и трикове за улесняване на задачата за копиране и управление на файлове.
Започването да разбирате SSH командите/инструментите и тяхната функционалност може да промени вашия поглед върху управлението на системата/сървъра, тъй като отключва възможностите не само на SSH, но и на терминала на Linux. Това е мощен инструмент, който предлага значителна сигурност, заедно с допълнителна функционалност, твърде напреднала, за да се обхване в едно ръководство.
Научете как да спестите време за управление на отдалечени сървъри с тези SSH и Linux команди.
Прочетете Следващото
- Linux
- SSH
- Отдалечен достъп
Румайса е писател на свободна практика в MUO. Тя е изминала дълъг път от математик до ентусиаст по информационна сигурност и работи като анализатор на SOC. Нейните интереси включват четене и писане за нови технологии, Linux дистрибуции и всичко около информационната сигурност.
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, ревюта, безплатни електронни книги и ексклузивни оферти!
Щракнете тук, за да се абонирате