Come poter utilizzare qualsiasi utente in SSH con QNAP
Inviato: 09 mar 2010, 01:35
Visto che in alcune discussioni si chiedeva come e se sia possibile usare utenze diverse da admin per eseguire processi via ssh o telnet mi son documentato e vi propongo una "miniguida" sperando vi sia utile.
Con le impostazioni standard del QNAP non è possibile connettersi in SSH con nessun utenza diversa da quella di amministrazione e di conseguenza di ROOT. Questa limitazione può essere problematica quando si vogliono installare e lanciare applicativi quali ad esempio amule, che potrebbero dare problemi se eseguiti da ROOT
Per poter usare qualsiasi utenza si sia creata in precedenza si possono eseguire questi passi (i pathname sono relativi alla installazione del TS-119 che ho usato... nel caso usando find / -name *sshd* potrete trovare i path del vostro Qnap)
1) Installare openssh dall' interfaccia grafica di amministrazione del QNAP->applicazioni->plugin QPKG->Optware
e quindi collegarsi come admin in SSH ed eseguire i seguenti comandi
ipkg update
ipkg install openssh
2) "Swappare" la versione di sshd del server con quella openssh
mv /mnt/ext/usr/sbin/sshd /mnt/ext/usr/sbin/sshd-origin
cp /share/HDA_DATA/.qpkg/Optware/sbin/sshd /mnt/ext/usr/sbin/sshd
3) Il filesystem dei serve Qnap è "particolare" in quanto l'OS iviene ogni volta caricato dal firmware dal ramdisk. Per questo motivo ogni modifica al sistema scompare ad ogni riavvio dello stesso a meno di effettuare una serie di operazioni "speciali" per evitare questo evento.
Per questo dovremo rimiovere alcuni elementi fuori dal Ramdisk
cp /etc/ssh/sshd_config /mnt/HDA_ROOT/.config/ssh/
Ora dovremo modificare il file appena copiato
vi /mnt/HDA_ROOT/.config/ssh/sshd_config
Per permettere l'accesso a piu utenti ci sono due possibilità, o aggiungere la lista degli utenti che si desiderano (separati da uno spazio) dopo la voce AllowUsers oppure commentare completamente la riga AllowUsers e quindi permettere a qualsiasi utente di loggarsi. Ovviamente consiglio di definire una lista di utenti ben specifica e controllate. Nel nostro caso aggiungermo l'utente amule alla lista
4) Ricopiamo il nostro file dove si trovava prima
cp /mnt/HDA_ROOT/.config/ssh/sshd_config /etc/ssh
5) Ora siamo pronti ad effettuare un test ma per prima cosa dobbiamo far caricare le nuove impostazioni alla macchina. Entrate nell'interfaccia grafica di amministrazione del Qnap e quindi Servizi di rete->Telnet/SSH e deselezionate il link di abilitazione ad SSH, aspettate qualche secondo e quindi riattivatelo (in questo modo si caricano le nuove impostazioni).
6) Se tutto funziona allora è il momento di rendere permanente la nostra configurazione.
Per farlo è necessario creare o modificare uno script autorun.sh script da fare eseguire ad ogni riavvio.
Per prima cosa montiamo una config area:
mount -t ext2 /dev/mtdblock5 /tmp/config
editiamo o creiamo il nostro file
vi /tmp/config/autorun.sh
ed inseriamo al suo interno queste righe di codice:
#!/bin/sh
# SSH Config
cp /mnt/HDA_ROOT/.config/ssh/sshd_config /etc/ssh/sshd_config
/etc/init.d/login.sh restart
7) Dopo aver salvato assicurarsi che il file abbia i diritti di esecuzione
chmod +x /tmp/config/autorun.sh
e smontate il filesystem
umount /tmp/config
ora riavviando in NAS la configurazione effettuata dovrebbe rimanere in memoria e quindi essere riproposta ad ogni avvio.
Per ogni modifica futura del file sshd_config by ricordatevi di copiarla nel ramdisk
vi /mnt/HDA_ROOT/.config/ssh/sshd_config
cp /mnt/HDA_ROOT/.config/ssh/sshd_config /etc/ssh
Con le impostazioni standard del QNAP non è possibile connettersi in SSH con nessun utenza diversa da quella di amministrazione e di conseguenza di ROOT. Questa limitazione può essere problematica quando si vogliono installare e lanciare applicativi quali ad esempio amule, che potrebbero dare problemi se eseguiti da ROOT
Per poter usare qualsiasi utenza si sia creata in precedenza si possono eseguire questi passi (i pathname sono relativi alla installazione del TS-119 che ho usato... nel caso usando find / -name *sshd* potrete trovare i path del vostro Qnap)
1) Installare openssh dall' interfaccia grafica di amministrazione del QNAP->applicazioni->plugin QPKG->Optware
e quindi collegarsi come admin in SSH ed eseguire i seguenti comandi
ipkg update
ipkg install openssh
2) "Swappare" la versione di sshd del server con quella openssh
mv /mnt/ext/usr/sbin/sshd /mnt/ext/usr/sbin/sshd-origin
cp /share/HDA_DATA/.qpkg/Optware/sbin/sshd /mnt/ext/usr/sbin/sshd
3) Il filesystem dei serve Qnap è "particolare" in quanto l'OS iviene ogni volta caricato dal firmware dal ramdisk. Per questo motivo ogni modifica al sistema scompare ad ogni riavvio dello stesso a meno di effettuare una serie di operazioni "speciali" per evitare questo evento.
Per questo dovremo rimiovere alcuni elementi fuori dal Ramdisk
cp /etc/ssh/sshd_config /mnt/HDA_ROOT/.config/ssh/
Ora dovremo modificare il file appena copiato
vi /mnt/HDA_ROOT/.config/ssh/sshd_config
Per permettere l'accesso a piu utenti ci sono due possibilità, o aggiungere la lista degli utenti che si desiderano (separati da uno spazio) dopo la voce AllowUsers oppure commentare completamente la riga AllowUsers e quindi permettere a qualsiasi utente di loggarsi. Ovviamente consiglio di definire una lista di utenti ben specifica e controllate. Nel nostro caso aggiungermo l'utente amule alla lista
4) Ricopiamo il nostro file dove si trovava prima
cp /mnt/HDA_ROOT/.config/ssh/sshd_config /etc/ssh
5) Ora siamo pronti ad effettuare un test ma per prima cosa dobbiamo far caricare le nuove impostazioni alla macchina. Entrate nell'interfaccia grafica di amministrazione del Qnap e quindi Servizi di rete->Telnet/SSH e deselezionate il link di abilitazione ad SSH, aspettate qualche secondo e quindi riattivatelo (in questo modo si caricano le nuove impostazioni).
6) Se tutto funziona allora è il momento di rendere permanente la nostra configurazione.
Per farlo è necessario creare o modificare uno script autorun.sh script da fare eseguire ad ogni riavvio.
Per prima cosa montiamo una config area:
mount -t ext2 /dev/mtdblock5 /tmp/config
editiamo o creiamo il nostro file
vi /tmp/config/autorun.sh
ed inseriamo al suo interno queste righe di codice:
#!/bin/sh
# SSH Config
cp /mnt/HDA_ROOT/.config/ssh/sshd_config /etc/ssh/sshd_config
/etc/init.d/login.sh restart
7) Dopo aver salvato assicurarsi che il file abbia i diritti di esecuzione
chmod +x /tmp/config/autorun.sh
e smontate il filesystem
umount /tmp/config
ora riavviando in NAS la configurazione effettuata dovrebbe rimanere in memoria e quindi essere riproposta ad ogni avvio.
Per ogni modifica futura del file sshd_config by ricordatevi di copiarla nel ramdisk
vi /mnt/HDA_ROOT/.config/ssh/sshd_config
cp /mnt/HDA_ROOT/.config/ssh/sshd_config /etc/ssh