Как да активирате и конфигурирате SFTP на CentOS 7

В много случаи трябва да прехвърляме множество информация между устройствата и най -често срещаният начин за това, който продължава повече от 20 години, е използването на FTP протокол (File Transfer Protocol) и FTP, който позволява прехвърляне между свързани компютри. TCP въз основа на клиент / сървър.

С FTP използваме порт 20 и 21. Сега имаме нов предварително дефиниран протокол, наречен SFTP, в който намираме активиран на всички сървъри, които поддържат SSH.

SFTP (SSH File Transfer Protocol) е различен от типа FTP, въпреки че поддържа всички FTP клиенти, които откриваме днес. Въпреки че SFTP е внедрен, за да добави слой защита, той представлява уязвимост на нивото на достъп, тъй като като стандарт предоставя пълен достъп на системните потребители за прехвърляне на файлове и използване на Shell.

Днес Solvetic ще научи как да конфигурира CentOS 7, за да попречи на определен потребител да има SSH достъп със свободата да манипулира системата чрез протокола SFTP0.

1. Създаване на потребител


Първо ще създадем потребителя, който ще има достъп, ограничен от SSH, в този случай ще го наречем достъп, изпълняваме следното:
 sudo adduser достъп
След това задаваме парола на новия потребител, като изпълняваме следното:
 sudo passwd достъп

2. Създаване на директория за прехвърляне на файлове


След като нашият потребител бъде създаден, следващата стъпка е да създадете директорията, където SFTP ще действа, предотвратявайки достъпа и това трябва да бъде конфигурирано с определени параметри.

Ще създадем директория, наречена / var / sftp / uploads, в която частта / var / sftp, root потребителят ще бъде нейният собственик и никой друг потребител няма да има активни разрешения, а в под -директорията / var / sftp / uploads собственикът ще бъде достъп на новия потребител. Създаваме директорията, като използваме следния ред:

 sudo mkdir -p / var / sftp / uploads
След това установяваме root потребителя като собственик в посочената директория:
 sudo chown root: root / var / sftp
Ние предоставяме разрешения за запис на root потребителя и четене на другите потребители по посочения път:
 sudo chmod 755 / var / sftp

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

 sudo chown достъп: access / var / sftp / uploads

3. Ограничаване на достъпа до директория


В тази стъпка ще видим как да ограничим достъпа чрез терминал до потребителския достъп, но дали ще бъде възможно прехвърлянето на файлове. За това трябва да редактираме SSH сървъра с предпочитания редактор, vim или nano, по следния път:
 sudo nano / etc / ssh / sshd_config
Ще видим следното:

В последната част на файла добавяме следното:

 Съвпадение на потребителския достъп ForceCommand Internal-sftp PasswordAuthentication да ChrootDirectory / var / sftp PermitTunnel не AllowAgentForwarding no AllowTcpForwarding не X11Forwarding не 

Запазваме промените с помощта на комбинацията от клавиши Ctrl + O и излизаме от редактора с помощта на клавишите Ctrl + X. Използваният синтаксис предполага следното:

Съвпадение на потребителяКажете на SSH сървъра да приложи промените към посочения там потребител.

ForceCommand internal-sftpПринуждава SSH сървъра да изпълнява SFTP, за да предотврати достъпа до Shell.

PasswordAuthentication даАктивирайте удостоверяване с парола

ChrootDirectory / var / sftp /Позовава се на факта, че посоченият потребител няма да има достъп извън пътя / var / sftp.

AllowAgentForwarding не, AllowTcpForwarding не. и X11Forwarding не еТези опции деактивират пренасочване на порт, тунелиране и препращане на протокол X11 за посочения потребител.

След като запазим файла, ще изпълним следната команда, за да приложим промените в SSH:

 sudo systemctl рестартирайте sshd

4. Проверка на SSH връзката

Етап 1
С това конфигуриране ще е време да потвърдите достъпа чрез SSH и да проверите дали ще бъдат възможни само трансфери на файлове. За това отиваме към връзката чрез SSH, която в този случай ще бъде.

 ssh [email protected]
След като въведем идентификационните данни за достъп, ще видим следното съобщение:

Стъпка 2
С това ние проверихме, че връзката ще бъде затворена чрез SSH. Сега ще опитаме връзката, използвайки sftp протокола:

 sftp [email protected]
Чрез въвеждане на парола ще видим, че връзката е успешна и ще можем да прехвърляме файлове:

Стъпка 3
Там можем да използваме командата ls, за да изброим наличните директории и ще видим папката за качване, която сме създали:

Стъпка 4
Там можем да преместваме информация, но ако се опитаме да се върнем в директория по -горе с помощта на cd … няма да получим грешка, но виждаме, че не може да бъде изброена нито една директория:

Толкова е просто, че можем да ограничим достъпа благодарение на sftp.

wave wave wave wave wave