Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
SSH (Secure Shell) е протокол, който позволява сигурна комуникация между компютри. Той е широко използван за отдалечен достъп до системи и трансфер на файлове.
В тази статия ще разгледаме как да използваме SSH за качване и изтегляне на файлове в Ubuntu. Ще обясним процеса стъпка по стъпка, за да е разбираем и за начинаещи.
SSH е мрежов протокол, който осигурява криптирана връзка между два компютъра. Той е създаден като по-сигурна алтернатива на по-старите протоколи като Telnet.
SSH позволява на потребителите да изпълняват команди от разстояние и да прехвърлят файлове сигурно. Той е стандарт в Linux и Unix системите за отдалечен достъп.
SSH предлага няколко предимства при прехвърляне на файлове:
Преди да започнем с трансфера на файлове, трябва да се уверим, че имаме необходимите инструменти.
Ubuntu обикновено идва с предварително инсталиран SSH клиент. За да проверите дали е инсталиран, отворете терминал и въведете:
ssh -V
Ако SSH е инсталиран, ще видите версията му. Ако не е, инсталирайте го с командата:
sudo apt-get install openssh-client
За да прехвърляте файлове, трябва да имате достъп до отдалечен SSH сървър. Ако искате да настроите свой собствен SSH сървър в Ubuntu, изпълнете следните стъпки:
sudo apt-get install openssh-server
sudo systemctl start ssh
sudo systemctl enable ssh
За качване на файлове чрез SSH, ще използваме командата scp
(Secure Copy). Тя е част от SSH пакета и осигурява криптиран трансфер на файлове.
Синтаксисът на scp
за качване на файл е следният:
scp /път/до/локален/файл потребител@отдалечен_хост:/път/до/отдалечена/директория/
Нека разгледаме един пример:
scp /home/user/document.txt john@192.168.1.100:/home/john/documents/
Тази команда ще качи файла document.txt
от локалната директория в отдалечената директория на сървъра.
Можете да качвате няколко файла наведнъж, като ги изброите след командата:
scp file1.txt file2.txt john@192.168.1.100:/home/john/documents/
За да качите цяла директория, използвайте опцията -r
(рекурсивно):
scp -r /home/user/my_folder john@192.168.1.100:/home/john/
Това ще качи цялата директория my_folder
и нейното съдържание на отдалечения сървър.
Изтеглянето на файлове чрез SSH също се извършва с командата scp
, но с разменени места на източника и целта.
Синтаксисът на scp
за изтегляне на файл е:
scp потребител@отдалечен_хост:/път/до/отдалечен/файл /път/до/локална/директория/
Пример за изтегляне на файл:
scp john@192.168.1.100:/home/john/documents/report.pdf /home/user/downloads/
Това ще изтегли файла report.pdf
от отдалечения сървър в локалната директория downloads
.
Можете да изтеглите няколко файла наведнъж, като ги изброите в командата:
scp john@192.168.1.100:/home/john/documents/{file1.txt,file2.txt} /home/user/downloads/
За изтегляне на цяла директория, отново използвайте опцията -r
:
scp -r john@192.168.1.100:/home/john/documents /home/user/downloads/
Това ще изтегли цялата директория documents
от отдалечения сървър в локалната директория downloads
.
Командата scp
предлага различни опции за контрол над процеса на трансфер:
-P port
: Указва различен SSH порт (по подразбиране е 22).-C
: Включва компресия на данните за по-бърз трансфер.-v
: Показва подробна информация за процеса на трансфер.-l limit
: Ограничава използваната честотна лента (в Kbit/s).Пример за използване на тези опции:
scp -P 2222 -C -v -l 1000 file.zip john@192.168.1.100:/home/john/
Тази команда ще използва порт 2222, ще компресира данните, ще покаже подробна информация и ще ограничи скоростта до 1000 Kbit/s.
SFTP (SSH File Transfer Protocol) е алтернатива на SCP, която предлага по-интерактивен начин за трансфер на файлове.
За да използвате SFTP, въведете следната команда:
sftp потребител@отдалечен_хост
След свързване, ще видите SFTP промпт. Ето някои полезни SFTP команди:
put file.txt
: Качва файл на сървъра.get file.txt
: Изтегля файл от сървъра.ls
: Показва съдържанието на текущата отдалечена директория.cd
: Променя текущата отдалечена директория.pwd
: Показва текущата отдалечена директория.exit
: Излиза от SFTP сесията.SFTP е по-удобен за интерактивна работа с файлове на отдалечения сървър.
SSH позволява лесно автоматизиране на процеса на трансфер на файлове. Това е полезно за редовни бекъпи или синхронизация на данни.
За да автоматизирате процеса, първо трябва да настроите SSH ключове. Това ще ви позволи да се свързвате без парола.
ssh-keygen -t rsa
ssh-copy-id потребител@отдалечен_хост
Създайте файл transfer.sh
със следното съдържание:
#!/bin/bash
scp /път/до/локален/файл потребител@отдалечен_хост:/път/до/отдалечена/директория/
Направете скрипта изпълним:
chmod +x transfer.sh
Сега можете да изпълнявате този скрипт ръчно или да го добавите в cron за редовно изпълнение.
При използване на SSH за трансфер на файлове, е важно да спазвате добри практики за сигурност:
SSH предоставя сигурен и ефективен начин за трансфер на файлове в Ubuntu. С командите scp
и sftp
можете лесно да качвате и изтегляте файлове между вашия локален компютър и отдалечени сървъри.
Автоматизирането на процеса чрез SSH ключове и скриптове може значително да улесни управлението на файлове в мрежова среда. Не забравяйте да следвате добрите практики за сигурност, за да защитите вашите данни и системи.
С малко практика, ще откриете, че SSH е мощен инструмент за управление на файлове в Ubuntu и други Unix-базирани системи.
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut