V tomto návodu vysvětlím, jak nakonfigurovat SSH tak, aby povolilo SFTP a zakázalo přihlašovací přístup SSH.
Řešení:
Dobře, SFTP používá SSH a ve výchozím nastavení budou uživatelé moci používat SSH i SFTP. Ale pokud někdy chcete, aby uživatelé používali pouze SFTP a zakázali přístup SSH, OpenSSH to podporuje. Od OpenSSH verze 4.9 můžete upravit sshd_config soubor, jak je uvedeno níže:
Jak povolit SFTP a zakázat SSH
Krok 1 :Upravit konfigurační soubor SSH
# vim /etc/sshd_config
Krok 2 :Vyhledání subsystému FTP.
V případě, že Subsystém je již nastaveno, jak je uvedeno níže:
Subsystem sftp /usr/lib/openssh/sftp-server
Poté jej musíte změnit na:
Subsystem sftp internal-sftp
Oba sftp-server a interní-sftp jsou subsystémy SSH, ale internal-sftp je nejvýhodnější. Důvodem je, interní-sftp je v procesu sftp server, který má výkonnostní výhodu oproti stp-serveru a také nevyžaduje další podpůrné soubory při použití s ChrootDirectory možnost.
Krok 3 :Přidejte níže uvedené řádky
Match group ftp ChrootDirectory /home/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
Hledejte „Ftp Match group “ řádek, který říká, že každý uživatel, který chce používat SFTP, by měl patřit do skupiny s názvem „ftp “ (v případě potřeby si vytvořte vlastní skupinu). Také pomocí internal-sftp podsystém je důležitý, protože budeme používat ChrootDirectory možnost.
Poznámka :Ujistěte se, že výše uvedené řádky jsou přidány za „UsePAM ano ‘ v sshd_config soubor.
Krok 4 :Přidat uživatele do skupiny FTP.
# vim /etc/group
Vyhledejte skupinu FTP a přidejte uživatele, jak je uvedeno níže, například uživatele „sysadmin ‘.
ftp:x:113:sysadmin
Možná budete muset změnit domovský adresář uživatele na /
kvůli použití Chroot a root by měl být vlastníkem /home/user .
Krok 5 :Před restartováním služby SSH otestujte, zda jsou konfigurace správné. Tento krok je velmi důležitý.
# sshd -t
Pokud dojde k chybě, zobrazí se na obrazovce. Jinak se nezobrazí žádný výstup.
Krok 6 :Restartujte službu SSHD
# /etc/init.d/ssh restart
(nebo)
# /etc/init.d/sshd restart
(nebo)
# service ssh restart
(nebo)
# service sshd restart
Krok 7 :Test
Nyní každý uživatel patřící k „ftp ‘ skupina bude moci používat SFTP, ale nebude se moci přihlásit pomocí SSH.
Poznámka :Výše uvedené příkazy byly provedeny a testovány na Ubuntu 14.04.4 LTS.