PowerScale OneFS: Konfigurera SFTP och konfigurera chroot
Summary: I det här dokumentet beskrivs hur du tillåter åtkomst till PowerScale-klustret via SFTP (Secure File Transfer Protocol).
Instructions
I det här dokumentet beskrivs hur du tillåter åtkomst till PowerScale-klustret via SFTP. Det finns vissa begränsningar och överväganden att tänka på när du påbörjar den här processen.
- Användare/grupper som behöver SFTP-åtkomst måste ha
ISI_PRIV_LOGIN_SSHprivilegium som är associerat med användaren. - SSH- och SFTP-åtkomst fungerar bara i zonen System.
- Alla ssh-konfigurationsalternativ är inte tillgängliga. PowerScale har stöd för Match- och Subsystem-satser över
isi ssh modifyKommandouppsättning.
Bortsett från dessa faktorer fungerar PowerScale som vilken annan FreeBSD OpenSSH-server som helst. Kontrollera OpenSSH-versionen på ett kluster med kommandot ssh -V.
Vägledning om hur du ställer in roller och behörigheter finns i CLI- eller webbadministrationsguiderna för din version under avsnittet "Administrativa roller och privilegier".
Kontrollera om en användare/grupp har ISI_PRIV_LOGIN_SSH
Kontrollera att användaren i fråga har ISI_PRIV_LOGIN_SSH. Nedan visas ett exempel med standardadministratörsanvändaren.
p930-1# isi auth mapping token admin | grep "LOGIN_SSH"
ISI_PRIV_LOGIN_SSH
Om det inte finns några utdata måste användaren tilldelas en roll som innehåller det privilegiet. Mer information om hur du gör det finns i våra administrationsguider för din relevanta version under "Administrativa roller och behörigheter"
Grundläggande SFTP-åtkomst för lokala användare
När användarna har verifierat rätt behörigheter bör de ha SFTP-åtkomst till delar av filsystemet baserat på deras användarmappningstoken.
p930-1# sftp admin@localhost
(admin@localhost) Password:
Connected to localhost.
sftp> dir
sftp> cd ..
sftp> dir
admin ftp
Grundläggande Chroot SFTP-åtkomst
För att begränsa en användare till en specifik delmängd av filsystemet, använd OpenSSH:s ChrootDirectory funktionalitet i en Match-instruktion. Detta gör att klienten ser sin inloggningssökväg som / och gör så att de inte kan lämna den delmängden av filsystemet. ChrootDirectory har dock strikta krav på katalogbehörighet på hela vägen till ChrootDirectory att varje katalog i sökvägen har Posix-behörigheter för root:wheel drwxr-xr-x För mer detaljer om detta, se manualsidan för OpenSSH-ansvariga.
Här är en vanlig Match-instruktion för implementering ChrootDirectory samtidigt som du matchar en grupp. De tre första raderna krävs för ChrootDirectory utan stödfiler. Den sista raden begränsar en användares möjlighet att dra nytta av X11Forwarding-funktioner i OpenSSH.
Match Group admin
ChrootDirectory /ifs/sftp
ForceCommand internal-sftp
X11Forwarding no
Nedan visas ett grundläggande exempel på hur du förbereder en sökväg för chroot när alla matchande användare kan skriva till /ifs/sftp/home Katalog. root:wheel Äger katalogerna /ifs och /ifs/sftp, med behörigheterna inställda på 755 för ChrootDirectory Medan /ifs/sftp/home har behörigheten 777, vilket ger användaren skrivåtkomst.
p930-1# isi auth settings acls modify --calcmode-group=group_only --calcmode-owner=owner_only
p930-1# mkdir -p /ifs/sftp/home
p930-1# chmod 755 /ifs/
p930-1# chmod 755 /ifs/sftp
p930-1# chmod 777 /ifs/sftp/home
p930-1# isi ssh settings modify --match="Match Group admin
dquote> ChrootDirectory /ifs/sftp
dquote> ForceCommand internal-sftp"
p930-1# sftp admin@localhost
(admin@localhost) Password:
Connected to localhost.
sftp> ls
home
sftp> pwd
Remote working directory: /
Konfigurera flera matchningssträngar
Det är lättare att hantera flera matchningar i en fil och sedan skicka dem till vår isi ssh Kommandon. Genom att använda den här processen säkerställer du sshd Validerar filen och tillämpar bara ändringen om den är giltig.
Nedan följer exempel på framgång och misslyckande.
p930-1# cat /ifs/sshMatches
Match Group admin
ChrootDirectory /ifs/sftp
ForceCommand internal-sftp
X11Forwarding no
Match All
X11Forwarding no
p930-1# sshd -t -f /ifs/sshMatches && isi ssh settings modify --match="$(cat /ifs/sshMatches)"
p930-1# sshd -t -f /ifs/sshMatchBad && isi ssh settings modify --match="$(cat /ifs/sshMatchBad)"
Missing Match criteria for Allk
/ifs/sshMatchBad line 6: Bad Match condition
Överväganden för matchningssträngar.
När du konfigurerar matchningssträngar kan alla användar- eller gruppidentifierare som klustret känner till användas i strängen "Matcha användare" eller "Matchningsgrupp". Så att referera till Active Directory-grupper kan göras med RFC2307 genom att domain\user.
Om en användare inte dirigerar till rätt sökväg eller inställningar i en Matcha användare-sträng kontrollerar du att användaren kan sökas upp i klustret med kommandot isi auth mapping token <username> tar användarnamnet från din matchningssträng.
Om en användare inte dirigerar till rätt sökväg eller inställningar i en Match Group-sträng kontrollerar du att användaren är medlem i gruppen i fråga med kommandot isi auth mapping token <username> | grep <groupname>. – Herr talman,
Ange ett användarnamn och ta gruppnamnet från matchningssträngen.
Nedan visas ett exempel på en användare som inte dirigerar till en sökväg korrekt på grund av ett misstag i programsatsen Match Group. Användare stateroot inte fungerar korrekt när användaren prodroot är att korrigera misstaget i gruppnamnet som används i Match Group-satsen för att åtgärda detta.
p930-1# isi auth mapping token stageroot | grep "LOGIN_SSH"
ISI_PRIV_LOGIN_SSH
p930-1# isi auth mapping token prodroot | grep "LOGIN_SSH"
ISI_PRIV_LOGIN_SSH
p930-1# cat /ifs/sshMatches
Match Group Stage-Root-SFTP
ChrootDirectory /ifs/home/Stage-Root
X11Forwarding no
ForceCommand internal-sftp
Match Group Prod-Root
ChrootDirectory /ifs/home/Prod-Root
X11Forwarding no
ForceCommand internal-sftp
p930-1# isi auth mapping token stageroot | grep "Stage-Root-SFTP"
p930-1# isi auth mapping token prodroot | grep "Prod-Root"
Name: Prod-Root
p930-1# isi auth mapping token stageroot | grep "Stage-Root"
Name: Stage-Root
Befintliga konfigurationer
Före OneFS 8.2 kunde samma funktionalitet utföras, men isi ssh ännu inte existerade. I stället för att använda isi ssh settings modify --match="" Redigera filen /etc/mcp/templates/sshd_config med samma matchningssträngar som stegen ovan skulle använda. Lägg till dem i slutet av /etc/mcp/templates/sshd_config.
Anvisningarna bör fungera för OneFS-versioner före OneFS 8.2, men alla konfigurationsjusteringar som görs på detta sätt kommer att tas bort efter uppgradering till en OneFS-version med stöd för API (Application Programming Interface). Användare som använder SFTP-åtkomst behöver fortfarande ISI_PRIV_LOGIN_SSH Privilegium.