Loading...

Impostazione della chiave DES di MGCamd: newcamd.list& Guida alla configurazione

Se sei qui, hai già installato MGCamd, hai le credenziali del server a portata di mano e qualcosa non funziona. L'impostazione della chiave DES di mgcamd è dove la maggior parte delle persone si imbatte in un muro — non perché il concetto sia difficile, ma perché un carattere sbagliato in un campo sbagliato uccide l'intero handshake. Questa guida spiega esattamente dove va la chiave, cosa fa e come leggere i tuoi log per distinguere un errore di chiave da qualsiasi altro tipo di errore.

Cos'è la chiave DES e perché MGCamd ne ha bisogno

MGCamd comunica con i server di schede utilizzando il protocollo newcamd. Quel protocollo utilizza la crittografia Triple-DES per proteggere la connessione durante il login — specificamente per crittografare l'handshake iniziale e i successivi dati di sessione. La chiave DES è il segreto condiviso che rende funzionare quella crittografia. Entrambi i lati hanno bisogno della stessa chiave, altrimenti l'handshake produce spazzatura e la connessione muore.

Questa non è la tua password. Non è il tuo nome utente. Questi sono campi separati. Le persone confondono costantemente queste cose, ed è uno dei motivi principali per cui un file di configurazione che sembra quasi corretto fallisce ancora.

Il ruolo della chiave DES nel protocollo newcamd

Quando MGCamd si connette a un server newcamd, non invia le credenziali in chiaro. Il server e il client utilizzano la chiave DES per impostare un canale crittografato prima che venga scambiato qualsiasi altro dato. Se la chiave non corrisponde da entrambi i lati, nessuna delle due parti può decrittografare ciò che l'altra invia. Dalla prospettiva del client, la connessione TCP si apre, poi si chiude — nessun messaggio di errore, nessun tentativo di autenticazione, solo silenzio.

La chiave è configurata lato server — sia che si trovi nel fileoscam.server di OScam o nella configurazione di un server CCcam. Qualunque cosa abbia il server, il tuo client deve avere esattamente quella.

Dove si trova la chiave nell'handshake CWS

La sequenza è: connessione TCP → il server invia una sfida casuale crittografata con la chiave DES → il client la decrittografa e risponde con le credenziali → il server convalida e accetta o rifiuta. Se la chiave DES è sbagliata, la decrittazione di quella prima sfida fallisce. Il client restituisce nonsense e il server chiude la connessione. Non arrivi nemmeno alla verifica di nome utente/password. Ecco perché una chiave DES errata appare identica a "connessione rifiutata" dall'esterno — l'handshake TCP ha successo, ma l'handshake di autenticazione newcamd no.

Perché deve essere esattamente 28 caratteri esadecimali (14 byte)

Triple-DES con una chiave di 14 byte è ciò che richiede la specifica newcamd. 14 byte × 2 caratteri esadecimali per byte = 28 caratteri. Non 26, non 30. Se la tua chiave è di 27 caratteri, l'hai incollata male. Se è di 29, c'è un carattere finale nascosto da qualche parte. MGCamd rifiuterà la chiave outright o la troncera/padderà silenziosamente — entrambi i risultati rompono la connessione.

I caratteri validi sono 0–9 e A–F (o a–f). Questo è tutto. Se vedi una lettera minuscola al di fuori di quel range, o qualcosa che sembra un 1 ma è in realtà una l, hai un errore di battitura.

Modifica di newcamd.list: formato esatto della riga

La riga CWS canonica appare così:

CWS = hostname port username password 0102030405060708091011121314

Ogni campo è separato da uno spazio singolo. Nessun tab, nessun doppio spazio, nessuna virgolette attorno a nulla. La chiave DES è laultima campo. La maggior parte delle guide che ho visto incollano una riga di esempio ma non etichettano mai i campi, quindi le persone mettono la chiave nello slot della password e si chiedono perché nulla funzioni.

Anatomia di una riga CWS =

Scomponendola da sinistra a destra:

  • CWS — la parola chiave direttiva, sempre maiuscola
  • = — segno di uguale letterale con spazi attorno
  • hostname — l'indirizzo IP o FQDN del server
  • port — porta TCP, comunemente 15000, 15001 o 17000
  • username — il tuo nome account sul server
  • password — la tua password dell'account (in chiaro qui)
  • chiave DES — 28 caratteri esadecimali, senza spazi all'interno della chiave stessa

Sei campi dopo il segno di uguale. La chiave è il campo sei. Non il campo quattro, non il campo cinque.

Ordine dei campi: host, porta, utente, password, chiave DES

Se le tue credenziali provengono da un pannello web, a volte vengono presentate in una tabella con colonne in un ordine diverso da quello che si aspetta la riga CWS. Incollare colonna per colonna da un pannello mal progettato è dove avvengono le trasposizioni. Leggi le colonne, digita la riga manualmente nell'ordine corretto. Ci vogliono trenta secondi e risparmi un'ora di debug.

Esempio di riga con segnaposto

CWS = cardserver.example.net 15000 myuser mypassword 0A1B2C3D4E5F6A7B8C9D0E1F2A3B4C5D

Quello è un server fittizio, ma il formato è esatto. La chiave lì è di 32 caratteri, che è intenzionalmente errata per far capire il punto — conta la tua. La vera chiave che ricevi sarà esattamente 28.

Posizione del file su firmware comuni

Questo confonde le persone più del formato. Percorsi comuni:

  • /var/keys/newcamd.list — la maggior parte delle immagini Enigma2 (OpenATV, OpenPLi, DreamElite)
  • /usr/keys/newcamd.list — alcune immagini più vecchie e build non-Enigma
  • /etc/tuxbox/config/newcamd.list — hardware Enigma1 basato su Tuxbox
  • /etc/mgcamd/newcamd.list — alcuni pacchetti MGCamd personalizzati che raggruppano la propria directory di configurazione

Se modifichi il file e le modifiche sembrano non applicarsi mai, stai modificando il percorso sbagliato. Eseguifind / -name "newcamd.list" 2>/dev/null tramite telnet per trovare ogni copia nel filesystem. Poi controlla quale MGCamd sta effettivamente leggendo — di solito visibile nel log di avvio o impostato in uno script di init tramite un argomento di percorso.

Righe adiacenti che potresti vedere nel file:CWS_KEEPALIVE = 0 controlla i ping keep-alive, eCWS_INCOMING_IP blocca il client a un'interfaccia locale specifica. Nessuna di queste contiene la chiave DES e nessuna deve essere modificata per una connessione di base.

Impostazione della chiave DES in mg_cfg

Ecco dove vive molta confusione: le persone cercano inmg_cfg un posto dove incollare la chiave DES. Non è lì. La chiave vive innewcamd.list. Punto e basta.

mg_cfg controlla il comportamento di runtime di MGCamd — caching, elaborazione EMM, output di debug e simili. Non contiene credenziali di connessione.

Il blocco di configurazione globale C { }

Il blocco di configurazione principale inmg_cfg appare così:

C { 3 0 1 0 { 0 } }

Quei numeri controllano il TTL della cache, AU (auto-update/EMM) e impostazioni di debug. Nessuno di essi è la chiave DES. Non mettere la chiave qui. Se hai modificato questo file cercando un campo chiave, eri nel file sbagliato del tutto.

Relazione tra mg_cfg e newcamd.list

Pensala in questo modo:newcamd.list è il tuo rubrica — a chi connettersi e come autenticarsi.mg_cfg è le preferenze interne di MGCamd — come comportarsi una volta connesso. Servono a scopi completamente diversi e vengono lette separatamente all'avvio.

Flag comuni di mg_cfg che influenzano la gestione delle chiavi

Il bitmask del livello di debug è l'impostazione inmg_cfg che aiuta indirettamente con la risoluzione dei problemi della configurazione della chiave DES di mgcamd. Le righe M: nel log (connessione, autenticazione, ECM) sono controllate dal valore di debug nel blocco C { }. Impostarlo su un valore come7 o255 ti darà un output dettagliato. Vedrai il tentativo di connessione CWS, il risultato dell'autenticazione e esattamente dove fallisce. Senza quello, stai indovinando alla cieca.

Al alcune build includono un fallback di chiave predefinito — se non viene specificata alcuna chiave, MGCamd prova0102030405060708091011121314. Non fare affidamento su questo. La maggior parte dei server reali utilizza una chiave personalizzata e tornare silenziosamente al predefinito significa una connessione fallita senza spiegazione ovvia. Metti sempre la chiave effettiva nel file esplicitamente.

Verifica della connessione e lettura dei log

Una volta che hai modificatonewcamd.list, riavvia MGCamd e guarda i log. Se non riesci a leggere i log, stai volando alla cieca e risolvere i problemi di configurazione diventa un gioco di indovinelli.

Abilitare il logging dettagliato di MGCamd

Inmg_cfg, imposta il tuo livello di debug alto. Un valore di255 nella posizione di debug del blocco C fornisce il massimo output. Questo è rumoroso, ma per diagnosticare un problema di connessione è esattamente ciò che desideri. Riduci il livello una volta che la connessione è stabile.

La posizione del file di log varia a seconda della configurazione — i percorsi comuni sono/tmp/mgcamd.log,/var/log/mgcamd.log, o output su stdout catturato dal sistema init. Controlla il tuo script init per vedere dove viene reindirizzato l'output.

Come appare un accesso CWS riuscito

Una connessione funzionante produce righe di log all'incirca come:

CWS connesso a cardserver.example.net:15000

La formulazione esatta varia tra le build di MGCamd, ma il modello è lo stesso: connetti → login OK → scheda rilevata → ECM risposto con un tempo di decodifica. Se vedi tutte e tre le fasi, la tua configurazione della chiave DES di mgcamd è corretta e la connessione funziona.

Ispezione del log in stile telnet e oscam

Attraverso telnet (di solito porta 23 sulla box), puoi seguire il log in tempo reale:

tail -f /tmp/mgcamd.log

Se stai eseguendo OScam insieme a MGCamd, il log di OScam si trova in/var/log/oscam/oscam.log mostrerà la connessione in arrivo dal lato client. Una chiave DES non valida appare come un handshake rifiutato anche nel log di OScam, il che ti fornisce un secondo punto di riferimento. Il confronto di entrambi i log elimina rapidamente l'ambiguità.

Confermare le risposte ECM e il tempo di decodifica

I tempi di decodifica inferiori a 500 ms sono generalmente accettabili per la maggior parte dei ricevitori. Tempi superiori a 1000 ms causano sfarfallio dell'immagine. Se le righe ECM appaiono nel log ma il tempo di decodifica è elencato come 0 o "no CW", la scheda è connessa ma non risponde per il CAID di quel canale — si tratta di un problema di diritti della scheda, non di chiave. La distinzione è importante per la risoluzione dei problemi.

Risoluzione dei problemi di chiavi DES errate o malformate

La configurazione della chiave DES di mgcamd fallisce in un numero limitato di modi prevedibili. Ogni sintomo punta a una causa diversa, e leggere il log ti dice con quale stai trattando.

Sintomo: si connette e poi si disconnette immediatamente

TCP si connette, vedi la riga CWS colpire il server, poi si disconnette entro un secondo e MGCamd inizia un ciclo di riconnessione. Questa è la firma di incompatibilità della chiave DES. Il server ha provato a decrittare la risposta del client alla sua sfida, ha ottenuto dati spazzatura e ha chiuso la connessione. Controlla la chiave carattere per carattere rispetto a ciò che il server si aspetta. Poi controlla la password — una password errata causa la stessa disconnessione ma leggermente più tardi nella sequenza di handshake.

Per distinguere un fallimento di porta/firewall da un fallimento di autenticazione: se TCP non completa nemmeno, non vedrai affatto una riga "CWS connected" — solo un timeout o "connessione rifiutata". Se vedi "connesso" seguito da una chiusura immediata, la rete è a posto e l'autenticazione è rotta. Questo è quasi sempre un problema di chiave DES o password.

Sintomo: la scheda si apre ma nessuna immagine / sgranata

Se la connessione ha successo (login OK, scheda rilevata) ma i canali sono sgranati, la chiave è a posto. Ora stai affrontando un problema diverso: la scheda non ha diritti per quel pacchetto, l'ECM non viene risposto o l'EMM non ha aggiornato i diritti della scheda. Controlla le righe ECM nel log per "no CW" o lunghi timeout. Questo non è un problema di chiave DES.

Errori di spazi bianchi, lunghezza e caratteri nascosti

Questo è un problema comune. Quando copi una chiave da un pannello web o da un'email, caratteri invisibili si uniscono al viaggio. Una nuova riga finale, uno spazio non interruzione (0xA0), un ritorno a capo — nessuno di questi è visibile nella maggior parte degli editor di testo, ma corrompe la chiave.

La soluzione: usados2unix sul file dopo averlo modificato su Windows, oppure modifica direttamente sulla macchina tramite telnet usandovi onano. Se il copia-incolla fallisce costantemente, riscrivi manualmente la chiave. Sono 28 caratteri — ci vogliono novanta secondi. Esegui anche:

cat -A /var/keys/newcamd.list

Qualsiasi riga che termina in^M$ invece di solo$ha un CR/LF in stile Windows. Quella finale^M viene aggiunta alla tua chiave DES e la rompe. Ildos2unix comando rimuove questi.

Trappole del copia-incolla dai pannelli web

Alcuni pannelli web visualizzano la chiave DES in un font dove 0 e O sembrano identici, o 1 e l sono quasi indistinguibili. Ho passato più tempo di quanto mi piaccia ammettere a fissare una chiave che sembrava corretta ma aveva una O minuscola dove doveva esserci uno zero. Se la chiave proviene da un'interfaccia web, visualizza il sorgente della pagina per vedere il valore grezzo. Copia da lì, non dalla visualizzazione renderizzata.

Controlla anche: se hai più righe CWS innewcamd.list e hai modificato quella sbagliata, l'entry attiva sta ancora usando la vecchia chiave. MGCamd legge tutte le righe CWS e le prova in ordine. Potresti modificare la riga 2 mentre la riga 1 è quella che si sta effettivamente connettendo. Controlla quale IP e porta del server appaiono nella riga di log "CWS connected" e assicurati che corrispondano alla riga che hai modificato.

Un altro caso limite: alcune versioni sono sensibili al maiuscolo riguardo ai caratteri esadecimali. Se il server invia la chiave in maiuscolo e il tuo file ha minuscole (o viceversa), la maggior parte delle versioni moderne gestisce la cosa — ma se sei su un binario MGCamd più vecchio, prova a far corrispondere esattamente il maiuscolo a ciò che il server ha fornito. Il maiuscolo è più sicuro.

I problemi di orologio sono rari ma reali. Su alcune configurazioni, un orologio di sistema errato sul STB causa fallimenti di handshake TLS o sensibili al tempo. Se hai verificato che la chiave è corretta e continui a ricevere fallimenti intermittenti, controlladate sulla macchina e sincronizza con NTP se il tempo è molto sballato.

Scegliere una fonte di server newcamd affidabile (in generale)

Il lato tecnico della configurazione della chiave DES di mgcamd funziona solo se il server dall'altra parte è effettivamente affidabile. Una configurazione perfetta che si connette a un server rotto ti offre comunque un'esperienza rotta.

Criteri che contano: uptime, tempo ECM, supporto

Il tempo di risposta ECM è il numero che conta di più giorno per giorno. Sotto i 300 ms è buono. Sotto i 100 ms è eccellente. Qualsiasi cosa oltre gli 800 ms e vedrai i cambiamenti di canale bloccarsi. Chiedi un periodo di prova e misura i tempi ECM effettivi nei tuoi log prima di impegnarti.

La coerenza dell'uptime conta più dell'uptime di picco. Un server attivo il 99% del tempo ma che si spegne in modo imprevedibile durante gli sport dal vivo è peggiore di uno con finestre di manutenzione programmate. Scopri come gestiscono i tempi di inattività e se c'è ridondanza.

La reattività del supporto è difficile da valutare prima di averne bisogno. Guarda quanto velocemente rispondono alle domande pre-vendita. Se impiegano tre giorni per rispondere a un semplice quesito, assumi che sia così veloce che risolveranno una connessione rotta alle 21:00 di un sabato.

Bandiera rossa da evitare

Evita qualsiasi servizio che non possa dirti la posizione fisica del loro server o del data center. Evita i fornitori che non ti daranno nemmeno un breve periodo di prova prima del pagamento. Fai attenzione a chiunque pubblicizzi tempi ECM irrealistici che non reggono ai test effettivi. E se un server è giù quando provi a testarlo per la prima volta, è un'anteprima di ciò che stai acquistando.

Perché non dovresti mai condividere pubblicamente la tua chiave DES

La tua linea CWS — l'intera linea inclusa la chiave DES — è una credenziale di autenticazione completa. Chiunque abbia quella linea può connettersi alla tua allocazione di server come te. Pubblicarla su un forum per chiedere aiuto è l'equivalente di pubblicare la tua password in chiaro. Se hai bisogno di condividere credenziali per il debug, genera un account di prova o maschera la chiave. E se l'hai già pubblicata pubblicamente, assumi che sia compromessa e richiedi immediatamente una nuova chiave all'operatore del server.

Lo stesso vale per incollare la tua configurazione in qualsiasi strumento online o sito diagnostico. La chiave non deve essere presente affinché qualcuno ti aiuti a risolvere problemi di formato — sostituiscila con un segnaposto prima di condividerla.

Quanto dovrebbe essere lunga la chiave DES di MGCamd?

Esattamente 28 caratteri esadecimali, che rappresentano 14 byte. Se la tua è più corta, la chiave è stata troncata durante il copia-incolla. Se è più lunga, c'è un carattere finale — possibilmente invisibile — aggiunto ad essa. In entrambi i casi, il handshake fallirà. Conta i caratteri prima di fare qualsiasi altra cosa.

Dove va la chiave DES — mg_cfg o newcamd.list?

Va innewcamd.list, come ultimo campo nella linea CWS =. Ilmg_cfgfile controlla come si comporta MGCamd — livello di debug, caching, gestione EMM — ma non contiene mai il valore della chiave stessa. Se hai modificatomg_cfgcercando un campo chiave, sei nel file sbagliato.

Perché MGCamd si connette ma si disconnette immediatamente?

La connessione TCP ha successo ma il handshake di autenticazione newcamd fallisce. La causa più comune è una chiave DES errata o una password errata — il server non può decrittografare la risposta del client e chiude la connessione. Abilita il logging dettagliato e cerca un "login fallito" o una chiusura brusca subito dopo "CWS connesso". Quella sequenza conferma che si tratta di un problema di autenticazione, non di rete o firewall.

Posso usare la chiave DES predefinita 0102030405060708091011121314?

Solo se il server è configurato con quella chiave predefinita, cosa che la maggior parte dei server di produzione non è. A volte viene utilizzata per test locali rapidi. Se il server ha una chiave personalizzata — e quasi tutti ce l'hanno — utilizzare la predefinita fallirà esattamente come qualsiasi altra chiave errata. Usa sempre la chiave fornita dal server, non quella predefinita.

La mia chiave sembra corretta ma i canali sono criptati — perché?

Se vedi "login OK" e "scheda rilevata" nei log, la chiave e la connessione sono a posto. I canali criptati di solito significano che la scheda non ha diritti per quel pacchetto, l'ECM non viene risposto per quel CAID, o l'EMM non ha aggiornato i diritti. Controlla le righe del log ECM per "no CW" o tempi di decodifica anormalmente lunghi. Un carattere di spazio nascosto nella chiave causerebbe un fallimento della connessione, non uno scramble post-connessione.

La chiave DES è la stessa della mia password?

No. Sono campi completamente separati nella linea CWS. La password autentica il tuo account. La chiave DES cripta la sessione. Hai bisogno di entrambi, nelle posizioni corrette:CWS = host port username password deskey. Mettere la password nello slot della chiave o la chiave nello slot della password è un errore comune e fallisce per motivi diversi — il fallimento della password si verifica più tardi nel handshake rispetto a un fallimento della chiave.