# 01 - SSH Keys

Будем использовать аутентификацию на основе ключей SSH, а не аутентификации на основе пароля. Эта техника закрепления поможет сохранить доступ к атакуемой системе, если пароли учетных записей пользователей будут изменены админом\рутом.\
На машине атакующего нам нужно сгенерировать открытый и закрытый ключ, затем положить открытый ключ на  атакуемую машину в файл <mark style="color:orange;">/root/.ssh/authorized\_keys</mark>\
\
Обратите внимание, в данном примере я генерирую ключ не RSA, а ed25519. Он современнее и удобнее, однако SSH сервер может быть настроен только на работу с RSA ключами.\
Такие ошибки удобно ловить при подлючении командой <mark style="color:red;">ssh -vvv root\@victim</mark>&#x20;

```bash
// На машине атакующего
// генрируем ключ, выводим и копируем в буфер обмена
ssh-keygen -t ed25519 -a 100
cat .ssh/id_ed25519.pub

// На атакуемой машине просто вставляем наш .pub ключ в файл:
/root/.ssh/authorized_keys

// Если файла не существует, его нужно создать и дать верные права:
mkdir  /root/.ssh/ && touch /root/.ssh/authorized_keys
chmod 700 /root/.ssh && chmod 600 /root/.ssh/authorized_keys

```

Также не лишним будет проверить в /etc/ssh/sshd\_config директивы:\
PermitRootLogin <mark style="color:green;">yes</mark>\
PubkeyAuthentication <mark style="color:green;">yes</mark>

<figure><img src="/files/EyyNm0KjZcVglYf5odGq" alt=""><figcaption></figcaption></figure>

После этих действий мы спокойно можем логиниться по SSH на атакуемый хост.


---

# 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://reeves0x0.gitbook.io/linux-under-attack/persistence/01-ssh-keys.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.
