it:server:sftp

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
it:server:sftp [2022/11/19 18:07] – vytvořeno Petr Nosekit:server:sftp [2023/06/06 18:18] (aktuální) Petr Nosek
Řádek 1: Řádek 1:
 ====== SFTP ====== ====== SFTP ======
 +
 +Přístup k filesystému lze zajistit přes SSH. Je třeba editovat soubor **/etc/ssh/sshd_config** a přidat řádky pro jednotlivé uživatele. Každý uživatel bude mít rootovskou složku dle cesty - nedostane se k ostatním souborům mimo jejich adresář. 
 +
 +Uživatel **user1** se autentizuje pomoci certifikátů, takže není povolena autentizace heslem.
 +
 +Oba uživatelé musí mít vytvořený účet.
 +
 +<code bash>
 +
 +# override default of no subsystems                  
 +Subsystem      sftp    /usr/lib/openssh/sftp-server 
 +
 +
 +Match User user1
 +        ChrootDirectory /home/user1
 +        ForceCommand internal-sftp
 +        AllowTcpForwarding no
 +        PasswordAuthentication no
 +
 +Match User user2 212.4.2.2
 +        ChrootDirectory /home/user2
 +        ForceCommand internal-sftp
 +        AllowTcpForwarding no
 +</code>
 +
 +Oba uživatelé musí mít vytvořený účet v Linuxu. Aby se nemohli přihlásit do systému, tak jim lze místo přihlašovacího bashe nastavit v souboru **/etc/passwd** nologin cestu:
 +
 +<code bash>
 +user1:x:1003:1003::/home/user1:/usr/sbin/nologin
 +user2:x:1004:1004::/home/user2:/usr/sbin/nologin
 +</code>
 +
 +
 +Při konfiguraci jsem narazil na problém s právy. Nedařilo se mi připojit přes SFTP a v logu */var/log/auth* jsem se dočetl, že nejsou správně nastavena práva. Protože jsem použil chroot, tak adresář **/home/user1** a adresář **/home/user2** musí mít práva roota. A v tom adresáři musí být zase složky, do které může zapisovat konkrétní uživatel.
 +
 +Pro prvního uživatele jsem to vyřešil tedy takto:
 +
 +<code bash>
 +chown root:root /home/user1
 +mkdir /home/user1/upload
 +chown user1:user1 /home/user1/upload
 +</code>
 +
 +
 +===== Problém s SFTP a certifikátem =====
 +
 +Protože jsem konfiguroval službu v lokální síti, narazil jsem na problém SSL certifikátem. Na SFTP server jsem chtěl posílat data z IP kamery, ale bohužel kamera kontroluje certifikát a nemůže znát tento lokální certifikát od SSH serveru. A to byla příčina, proč mi u kamery SFTP server nefungoval, ale přes Filezillu nebo Krusader mi to fungovalo.
  
  • it/server/sftp.1668881221.txt.gz
  • Poslední úprava: 2022/11/19 18:07
  • autor: Petr Nosek