Как защитить свой SSH-доступ?

Как защитить свой SSH-доступ?

Я один из тех парней, которые взбираются по лестнице на вышку и прыгают, а потом понимают, что не умеют плавать.

Итак, у меня есть VPS, и я понятия не имею, как им управлять. Я понимаю, что одно из первых дел — это его защита, и первый конкретный шаг в этом направлении, который я пока нашел, — это Moshen'sкомментарий:

Также вам следует как можно скорее защитить свой доступ SSH. Я рекомендую изменить порт по умолчанию, использовать аутентификацию на основе ключей и отключить аутентификацию по паролю и входы root (по сути, создать учетную запись стандартного пользователя для входа)

Пока что все, что я знаю, это как использовать веб-интерфейс моего провайдера VPS, чтобы открыть консоль с правами root. Так как же мне следовать совету moshen?

решение1

Чтобы защитить свой ssh, вам необходимо сделать следующее:

1) Убедитесь, что у вас есть пользователь с доступом sudo и открытым ключом, для этого выполните следующие шаги:
а) Создайте пользователя, выполнив:

useradd sudo_user

б) Войдите в систему как этот пользователь и создайте набор открытых/закрытых ключей, после чего установите authorized_keys:

su - sudo_user
ssh-keygen -t rsa
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
exit

в) Получите свой закрытый ключ из /home/sudo_user/.ssh/id_rsa, который вы в дальнейшем будете использовать для входа на сервер:

cat /home/sudo_user/.ssh/id_rsa

г) Установите доступ sudo для вашего пользователя:

echo "sudo_user  ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers

2) Отредактируйте конфигурацию /etc/ssh/sshd_config и внесите следующие изменения:
a) Отключите доступ root, убедившись, что в следующих строках указано:

PermitRootLogin no

б) Отключите аутентификацию по паролю, установив:

PasswordAuthentication no

и

PubkeyAuthentication yes

в) Измените порт для ssh, предварительно убедившись, что новый порт открыт в брандмауэре:

Port 12345

Однако вы можете изменить его на любой другой. г) Перезагрузите ssh, выполнив команду:

service sshd reload

или

service ssh reload

Связанный контент