PowerScale OneFS: Configurazione di SFTP e impostazione di chroot

Summary: Questo documento descrive come consentire l'accesso al cluster PowerScale tramite SFTP (Secure File Transfer Protocol).

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Questo documento descrive come consentire l'accesso al cluster PowerScale tramite SFTP. Ci sono alcune limitazioni e considerazioni da tenere a mente quando si inizia questo processo.

  • Gli utenti/gruppi che necessitano dell'accesso SFTP devono disporre del ISI_PRIV_LOGIN_SSH Privilegio associato all'utente.
  • L'accesso SSH e SFTP funziona solo all'interno della zona di sistema.
  • Non tutte le opzioni di configurazione ssh sono disponibili; PowerScale supporta le istruzioni Match e Subsystem su isi ssh modify set di comandi.

Al di fuori di questi fattori, PowerScale funziona come qualsiasi altro server OpenSSH FreeBSD. Controllare la versione di OpenSSH su un cluster utilizzando il comando ssh -V.

Per istruzioni sulla configurazione di ruoli e privilegi, consultare la CLI o le guide all'amministrazione web per la versione nella sezione "Ruoli e privilegi amministrativi".

Verifica se un utente/gruppo dispone di ISI_PRIV_LOGIN_SSH

Verificare che l'utente in questione abbia ISI_PRIV_LOGIN_SSH. Di seguito è riportato un esempio con l'utente amministratore predefinito.

p930-1# isi auth mapping token admin | grep "LOGIN_SSH"
            ISI_PRIV_LOGIN_SSH

Se non viene fornito alcun output, l'utente deve essere assegnato a un ruolo che includa tale privilegio. Ulteriori dettagli su come eseguire questa operazione sono disponibili nelle guide all'amministrazione della versione pertinente, nella sezione "Ruoli e privilegi amministrativi"

Accesso SFTP di base per gli utenti locali

Dopo aver verificato i privilegi corretti, gli utenti devono avere accesso SFTP a parti del file system in base al token di mappatura degli utenti.

p930-1# sftp admin@localhost
(admin@localhost) Password:
Connected to localhost.
sftp> dir
sftp> cd ..
sftp> dir
admin  ftp

Accesso SFTP Chroot di base

Per limitare un utente a un sottoinsieme specifico del file system, utilizzare OpenSSH ChrootDirectory all'interno di un'istruzione Match. In questo modo, il client visualizza il proprio percorso di accesso come / e fa in modo che non possano lasciare quel sottoinsieme del file system. ChrootDirectory Tuttavia, dispone di rigorosi requisiti di autorizzazione di directory per l'intero percorso verso ChrootDirectory che ogni directory nel percorso ha autorizzazioni Posix di root:wheel drwxr-xr-x per maggiori dettagli su questo, fare riferimento alla pagina man per i manutentori di OpenSSH.

Di seguito è riportata una dichiarazione di corrispondenza comune per l'implementazione ChrootDirectory. Le prime due righe sono necessarie per ChrootDirectory Senza file di supporto. Le seconde due righe limitano la capacità di un utente di usufruire di: TCPForwarding delle funzionalità di X11Forwarding all'interno di OpenSSH.

Match Group admin
ChrootDirectory /ifs/sftp
ForceCommand internal-sftp"
X11Forwarding no

Di seguito è riportato un esempio di base di preparazione di un percorso per chroot quando qualsiasi utente corrispondente può scrivere su /ifs/sftp/home . root:wheel È proprietario delle directory /ifs e /ifs/sftp, con autorizzazioni impostate su 755 per ChrootDirectory Mentre /ifs/sftp/home Dispone delle autorizzazioni 777, che consentono l'accesso in scrittura dell'utente.

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: /

Configurazione di più stringhe di corrispondenza

È più facile gestire più corrispondenze in un file e poi passarle al nostro isi ssh . L'utilizzo di questo processo garantisce sshd Convalida il file e applica la modifica solo se è valida.

Di seguito sono riportati esempi di successo e fallimento.

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

Considerazioni sulle stringhe di corrispondenza.

Quando si impostano le stringhe di corrispondenza, è possibile utilizzare qualsiasi ID utente o gruppo riconosciuto dal cluster. Pertanto, il riferimento ai gruppi di Active Directory può essere eseguito con RFC2307 domain\user.

Se un utente non esegue il routing al percorso o alle impostazioni corretti in una stringa Match User, verificare che sia possibile cercare l'utente nel cluster con il comando isi auth mapping token <username> prendendo il nome utente dalla tua stringa di corrispondenza.

Se un utente non esegue il routing al percorso o alle impostazioni corretti in una stringa Match Group, verificare che l'utente sia membro del gruppo in questione con il comando isi auth mapping token <username> | grep <groupname>.

Fornire un nome utente e prendere il nome del gruppo dalla stringa di corrispondenza.

Di seguito è riportato un esempio di un utente che non esegue correttamente il routing a un percorso a causa di un errore nell'istruzione Match Group. User stateroot non funziona correttamente mentre l'utente prodroot cioè, correggere l'errore nel nome del gruppo utilizzato nell'istruzione Match Group per risolvere questo problema.

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

Configurazioni legacy

Prima di OneFS 8.2 questa stessa funzionalità poteva essere eseguita, ma il isi ssh Il comando non esisteva ancora. Invece di utilizzare isi ssh settings modify --match="" Modificare il file /etc/mcp/templates/sshd_config con le stesse stringhe di corrispondenza che utilizzerebbero i passaggi precedenti. Aggiungili alla fine di /etc/mcp/templates/sshd_config.

Le istruzioni fornite dovrebbero funzionare per le versioni di OneFS precedenti a OneFS 8.2, ma eventuali modifiche alla configurazione eseguite in questo modo verranno rimosse dopo l'aggiornamento a una versione di OneFS con supporto API (Application Programming Interface). Gli utenti che utilizzano l'accesso SFTP richiedono comunque ISI_PRIV_LOGIN_SSH Privilegio.

Article Properties
Article Number: 000157780
Article Type: How To
Last Modified: 09 رمضان 1447
Version:  8
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.