Pagina 1 di 5

Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 09 mar 2010, 01:35
da kilamdil
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

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 09 mar 2010, 15:41
da luciano
Grazie per questo ennesimo tutorial! : Welcome : : Thumbup :

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 14 mar 2010, 23:31
da fastmac
Ciao,

al punto 2) manca una /:

cp /share/HDA_DATA/.qpkg/Optware/sbin/sshd /mnt/ext/usr/sbin/sshd

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 15 mar 2010, 10:52
da luciano
Grazie Fastmac, ho corretto. : Wink :

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 15 mar 2010, 21:14
da delsi
Il punto 2 non funziona con questo errore:
cp: cannot stat `/share/HDA_DATA/.qpkg/Optware/sbin/sshd': No such file or directory

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 15 mar 2010, 22:00
da kilamdil
Ciao,
come scritto nelle premesse il tutorial è relativo alla versione di Qnap che ho testato io, se il modello è diverso da TS-119 i path name possono essere diversi.

Per identificare quale pathname devi usare per la sorgente dei dati e per la loro destinazione frvi trovare dove stanno i file sshd. Usa il comando:

find / -name *sshd*

e segnati i pathname corretti da usare nei vari passi.

Ciao

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 15 mar 2010, 22:55
da fastmac
ad esempio se usi una configurazione RAID sarà:

MD0_DATA

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 15 mar 2010, 23:00
da luciano
Delsi devi cambiare i path che fanno riferimento a HDA_DATA in MD0_DATA, cosi chiunque abbia un volume RAID.

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 16 mar 2010, 13:32
da delsi
Stasera riprovo.
Una curiosità, tutte queste belle modifiche vengono perse ad ogni aggiornamento di firmware?

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 01 apr 2010, 15:32
da gnu_nix
Ciao a tutti,
dopo il punto 5, dopo aver disattivato/riattivato il protocollo SSH, no nriesco più ad accedere con l'utenza "amule". Dopo che inserisco amule come username putty si disconnette.No capisco se è un problema di chiavi.

Grazie
gnu_nix

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 01 apr 2010, 16:35
da luciano
in ssh mi pare si possa entrare solo come admin....

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 01 apr 2010, 18:19
da gnu_nix
..però sulla guida viewtopic.php?f=14&t=1743 punto 8 viene suggerito di loggarsi/riloggarsi come amule....ci sono altre modalità per avviare amuled?

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 01 apr 2010, 20:38
da andreac
luciano ha scritto:in ssh mi pare si possa entrare solo come admin....
Io ho seguito il tutorial per configurare un accesso differente da quello admin e riesco ad utilizzare il servizio ssh anche come utente amule, confermo che funziona : Wink :

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 01 apr 2010, 20:54
da gnu_nix
Ciao,
durante il passaggio 2 /mnt/ext/usr/sbin/sshd lo trovo invece in /usr/sbin invece di /mnt/ext/usr (in effetti la cartella usr non esiste : Sad : ), potreste postarti il contenuto del vostro file sshd_config per favore??

Grazie in anticipo

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 01 apr 2010, 23:08
da luciano
No, scusate oggi ero fuso (sarà stato il pesce d'Aprile?! : Chessygrin : ), ho detto un'evidente cavolata, visto che siamo sul post di "come poter utilizzare qualsiasi utente in SSH"...! : Hide :

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 01 apr 2010, 23:55
da andreac
gnu_nix ha scritto:Ciao,
durante il passaggio 2 /mnt/ext/usr/sbin/sshd lo trovo invece in /usr/sbin invece di /mnt/ext/usr (in effetti la cartella usr non esiste : Sad : )
Qual e' il risultato di questo comando sul tuo nas?

Codice: Seleziona tutto

find / -name *sshd*
(se non riesci ad utilizzare il servizio sshd, prova a disattivarlo e riavviarlo qualche volta e attendi qualche minuto; se ancora non va, attiva ed utilizza il telnet per modificare i file che ti hanno creato problemi : Wink : )
potreste postarti il contenuto del vostro file sshd_config per favore??
# $OpenBSD: sshd_config,v 1.74 2006/07/19 13:07:10 dtucker Exp $

# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options change a
# default value.

#Port 22
#Protocol 2,1
Protocol 2
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key

# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 768

# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no

# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
#UsePAM no

#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
UsePrivilegeSeparation no
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS yes
#PidFile /var/run/sshd.pid
#MaxStartups 10
#PermitTunnel no

# no default banner path
#Banner /some/path

# override default of no subsystems
Subsystem sftp /usr/libexec/sftp-server

AllowUsers admin amule
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# ForceCommand cvs server

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 03 apr 2010, 20:54
da gnu_nix
Grazie, l'ho riconfigurato ed ora ho solo il problema con amuleweb, quando mi connetto via web ottengo il seguente errore:
"No password specified, login will not be allowed."

sai dove posso ottenere la gui remoa per amule??

Ciao
Gnu_nix

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 03 apr 2010, 22:25
da andreac
gnu_nix ha scritto:Grazie, l'ho riconfigurato ed ora ho solo il problema con amuleweb, quando mi connetto via web ottengo il seguente errore:
"No password specified, login will not be allowed."
Hai modificato il file amule.conf e remote.conf inserendo le password come da guida installazione amule?
sai dove posso ottenere la gui remoa per amule??
qui: http://www.amule.org/
scarica il file adatto al tuo sistema operativo e quando vai ad installare scegli solo amulegui

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 04 apr 2010, 00:02
da luciano
: On Topic Please :

Re: Come poter utilizzare qualsiasi utente in SSH con QNAP

Inviato: 04 apr 2010, 20:06
da gnu_nix
...scusate... : Blink :