# Linux Device Installation (hidden)

## Step 1 : Activate the device atSign from your `client machine`

If you've already activated the device atSign skip to [step 2](#step-2-installing-on-the-device).

### (1.1) Download the activation software on the `client machine`

```bash
curl -L https://github.com/atsign-foundation/noports/releases/latest/download/universal.sh -o universal.sh
```

To check if the installation downloaded correctly:

```bash
stat universal.sh
```

### (1.2) Run the installer

Make the script executable and run the script.

```bash
chmod u+x universal.sh
./universal.sh
```

### (1.3) Activate the device atSign from the `client machine`

This command activates your atSign and prompts you to enter an OTP. This is only done during the setup of a brand new atsign.

```
C:\\Program\ Files\\NoPorts\\at_activate.exe otp -a @<REPLACE>_device
```

#### Enter the One Time Password (OTP) & Check your SPAM/PROMOTIONS folders

at\_activate will pause and wait for the input of a one time pin (OTP) sent to your email or phone number.

Once activated, the management keys will be saved in `~\.atsign\keys`.

## Step 2 : Installing on the `device`

### (2.1) Download the installer

```bash
curl -L https://github.com/atsign-foundation/noports/releases/latest/download/universal.sh -o universal.sh
```

To check if the installation downloaded correctly:

```bash
stat universal.sh
```

### (2.2) Run the installer

Make the script executable and run the script.

```bash
chmod u+x universal.sh
./universal.sh
```

***

## Step 3: Authorizing the device atSign

### (3.1) Generate a passcode from your `client machine`

### (3.2) Make an authorization request from your `device machine`

<pre class="language-bash"><code class="lang-bash">~/.local/bin/at_activate enroll -a @&#x3C;REPLACE>_device \
<strong>  -s &#x3C;PASSCODE> \
</strong><strong>  -p noports \
</strong><strong>  -k ~/.atsign/keys/@&#x3C;REPLACE>_device_key.atKeys \
</strong><strong>  -d &#x3C;DEVICE_NAME> \
</strong><strong>  -n "sshnp:rw,sshrvd:rw"
</strong></code></pre>

#### Once you see this text, you're ready to continue to the next step.

```
Submitting enrollment request 
Enrollment ID: ---------------------
Waiting for approval; will check every 10 seconds
```

### (3.3) Approve the authorization request from your `client machine`

Run the following command

```bash
~/.local/bin/at_activate approve -a @<REPLACE>_device --arx noports --drx <DEVICE_NAME>
```


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.noports.com/installation/linux/device-hidden.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
