> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/cli/it/aiuto/troubleshooting/sign-in-fails.md).

# L’accesso non riesce o la sessione è scaduta

Correggere gli errori di accesso di Devolutions CLI e le sessioni scadute per Devolutions Cloud e Devolutions Server, a partire dal codice di errore che il comando mostra.

`devo login` si ferma con un errore, oppure un comando che prima funzionava dice ora che deve accedere. Il codice di errore all’inizio del messaggio dice in quale caso si trova.

## Perché accade

* Nessun contesto è selezionato, oppure il contesto selezionato non ha informazioni di accesso.
* La sessione del browser è scaduta e non può essere rinnovata.
* La variabile d’ambiente o il file che contiene il segreto dell’applicazione, la chiave API o la password non è disponibile.
* La chiave, il segreto o la password è errata.
* Il metodo di accesso non è adatto al computer, per esempio un accesso tramite browser su un computer senza browser.
* Devolutions Cloud o Devolutions Server non ha risposto in tempo.

## Verifichi a che punto è

Prima di cambiare qualcosa, veda che cosa Devolutions CLI sa del contesto corrente:

```bash
devo status
```

Mostra il contesto, il tipo e, per Devolutions Cloud o Devolutions Server, se sono memorizzate informazioni di accesso. Non contatta lo spazio di lavoro. Per provare davvero l’accesso, aggiunga `--online`:

```bash
devo status --online
```

Per controllare un altro contesto, aggiunga il suo nome: `devo status <context-name>`.

## Lo corregga

{% stepper %}
{% step %}

### Selezioni il contesto giusto

<table><thead><tr><th width="300">CODICE DI ERRORE</th><th>CHE COSA FARE</th></tr></thead><tbody><tr><td><code>contextNotFound</code></td><td>Nessun contesto corrente, o nessun contesto con quel nome. Esegua <code>devo context list</code>, poi <code>devo context use &#x3C;context-name></code>, oppure acceda con <code>devo login</code>.</td></tr><tr><td><code>cloudAuthenticationRequired</code><br><code>serverAuthenticationRequired</code></td><td>Il contesto non ha informazioni di accesso, per esempio dopo <code>devo logout</code>. Acceda di nuovo con <code>devo login</code>.</td></tr><tr><td><code>contextAmbiguous</code></td><td>Due contesti di tipi diversi condividono il nome. Ne elimini uno con <code>devo context delete &#x3C;context-name> --kind &#x3C;kind></code>.</td></tr></tbody></table>

Consulti [Passare da uno spazio di lavoro all’altro](/cli/it/guide/connect/switch-workspaces.md).
{% endstep %}

{% step %}

### Accedere di nuovo quando la sessione è scaduta

Un accesso dal browser (`--oauth`) dà a Devolutions CLI una sessione che rinnova da solo. Quando ciò non è più possibile, vede uno di questi codici:

* `cloudOAuthSessionExpired`, `cloudOAuthRefreshFailed`
* `serverOAuthSessionInvalid`, `serverOAuthRefreshFailed`

Esca, quindi acceda di nuovo con lo stesso nome di contesto. Il contesto viene aggiornato e gli script e i riferimenti continuano a funzionare:

```bash
devo logout <context-name>
devo login <context-name> --cloud https://<your-organization>.devolutions.app --oauth
```

Per Devolutions Server, usi `--server https://<your-server-address>` invece di `--cloud`.

`cloudOAuthRefreshBusy` o `serverOAuthRefreshBusy` significa che un altro comando `devo` stava rinnovando la stessa sessione da più di 60 secondi. Attenda che finisca, quindi esegua di nuovo il comando.
{% endstep %}

{% step %}

### Rendere di nuovo disponibile il segreto

Quando accede con una chiave dell’applicazione (Devolutions Cloud), una chiave API o una password (Devolutions Server), il contesto ricorda **dove** si trova il segreto, la variabile d’ambiente o il file che ha indicato, non il segreto stesso. Devolutions CLI lo rilegge ogni volta che ne ha bisogno.

`secretReferenceUnavailable` significa che quella variabile non è impostata, o che quel file non può essere letto, al momento del comando. Imposti la variabile nel terminale, nello script o nella pipeline che esegue il comando, oppure ripristini il file.

Il processo in background legge la variabile dal proprio ambiente, quindi dopo averla impostata riavvii il processo dallo stesso terminale:

```bash
devo daemon restart --wait
```

Consulti [Accedere da una pipeline CI](/cli/it/per-devops-e-amministratori/automate/ci-sign-in.md).
{% endstep %}

{% step %}

### Verifichi le credenziali

<table><thead><tr><th width="300">CODICE DI ERRORE</th><th>CHE COSA FARE</th></tr></thead><tbody><tr><td><code>cloudAuthenticationFailed</code></td><td>La chiave dell’applicazione o il segreto dell’applicazione è errato, oppure l’applicazione è stata rifiutata. Li controlli entrambi in Devolutions Cloud, quindi acceda di nuovo.</td></tr><tr><td><code>serverAuthenticationFailed</code></td><td>Devolutions Server ha rifiutato la chiave API, il nome utente o la password. Li controlli, e il dominio se usa <code>--domain-id</code>, quindi acceda di nuovo.</td></tr><tr><td><code>invalidParameterValue</code> durante <code>devo login</code></td><td>Le opzioni non stanno insieme, per esempio opzioni di Devolutions Server con <code>--cloud</code>, oppure un nome di contesto già usato da un altro tipo di contesto. Il messaggio nomina il problema.</td></tr></tbody></table>
{% endstep %}

{% step %}

### Scelga un metodo di accesso adatto al computer

<table><thead><tr><th width="300">CODICE DI ERRORE</th><th>CHE COSA FARE</th></tr></thead><tbody><tr><td><code>cloudOAuthLoopbackUnsupported</code><br><code>serverOAuthLoopbackUnsupported</code></td><td>L’accesso dal browser non è offerto. Su Devolutions Server, aggiunga <code>--use-device-code</code> a <code>devo login</code> e segua le istruzioni nel terminale. Su Devolutions Cloud, acceda invece con una chiave applicazione.</td></tr><tr><td><code>cloudOAuthLoopbackUnavailable</code><br><code>serverOAuthLoopbackUnavailable</code></td><td>Devolutions CLI non ha potuto avviare il listener locale che riceve la risposta del browser. Riprovi. Su Devolutions Server può anche usare <code>--use-device-code</code>; su Devolutions Cloud, una chiave applicazione.</td></tr><tr><td><code>cloudOAuthAuthorizationExpired</code><br><code>serverOAuthAuthorizationExpired</code></td><td>Non ha completato l’accesso nel browser in tempo. Esegua di nuovo <code>devo login</code>.</td></tr><tr><td><code>cloudOAuthAccountKeyMissing</code></td><td>Questa sessione di Devolutions Cloud non può aprire i dati della cassaforte. Succede con una sessione da <code>--use-device-code</code>. Acceda di nuovo con il flusso del browser, <code>--oauth</code> senza <code>--use-device-code</code>, oppure con una chiave dell’applicazione.</td></tr><tr><td><code>windowsAuthenticationUnsupported</code></td><td><code>--windows-auth</code> funziona solo su Windows. Usi un altro metodo di accesso su macOS e Linux.</td></tr></tbody></table>

Consulti [Accedere a Devolutions Cloud](/cli/it/guide/connect/devolutions-cloud.md) e [Accedere a Devolutions Server](/cli/it/guide/connect/devolutions-server.md).
{% endstep %}

{% step %}

### Dia più tempo allo spazio di lavoro

`cloudRequestTimeout` o `serverRequestTimeout` significa che Devolutions Cloud o Devolutions Server non ha risposto in tempo. Controlli di poter raggiungere l’indirizzo da questo computer, per esempio attraverso una VPN o un proxy. Se lo spazio di lavoro è solo lento, alzi il limite di tempo di `devo login` con `--timeout`, in secondi, da 3 a 600. Il valore predefinito è 15.

```bash
devo login <context-name> --server https://<your-server-address> --oauth --timeout 60
```

{% endstep %}
{% endstepper %}

{% hint style="info" %}
`devo logout` cancella l’accesso memorizzato di un contesto, ma conserva il contesto stesso. Per rimuovere anche il contesto, usi `devo context delete <context-name> --yes`.
{% endhint %}

## Non riesce ancora?

Esegua di nuovo il comando con `--verbose`, quindi [raccolga la diagnostica](/cli/it/aiuto/troubleshooting/collect-diagnostics.md) e contatti il [supporto Devolutions](https://devolutions.net/support/). Non invii mai la chiave, il segreto o la password.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/cli/it/aiuto/troubleshooting/sign-in-fails.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
