Настройка подключения к удаленному серверу и настройка файлов конфигурации
HTML-код
- Опубликовано: 17 дек 2024
- проверка доступности сервера
разбор частых проблем с доступностью сервера
проверка доступа к порту
проверка наличия ссш
установка ссш
проверка что ссш работает
подключение через стандартный порт
подключение через нестандартный порт
верификация аутентификации
просмотр логов подключения
посмотрим как брутфорсят доступ
создание рабочего пользователя на удаленном сервере
добавление рабочего пользователя в группу sudo
создание .ssh директории
выдача прав на директорию
создание ссш ключа с разным типом шифрования, сложностью, названием
добавление ключа пользователю
настройка безопасности ссш подключения через конфиг файл для root пользователя и рабочего пользователя на удаленном сервере
изменение стандартного порта для ссш подключения на нестандартный
настройка ссш подключения по alias
поговорим про клиенты для подключения к удаленному серверу
мой телеграмм канал t.me/qa_road_c...
неожиданно. Лайк
1. Проверка доступности сервера
Сначала проверьте, доступен ли сервер в сети, используя команду ping:
ping my_ip
2. Проверка открытости SSH-порта
Следующим шагом нужно проверить, открыт ли на сервере SSH-порт (по умолчанию 22):
nc -zv 192.168.1.100 22
Если порт открыт, вы увидите сообщение об успешном подключении.
Открытие порта для SSH
После установки SSH-сервера может понадобиться открыть порт 22 в брандмауэре (если используется). Например, для ufw:
sudo ufw allow 22/tcp
sudo ufw reload
3. Проверка состояния службы SSH
systemctl status ssh
Если SSH-сервер установлен, вы увидите статус службы (active (running)), что означает, что SSH работает.
Если SSH-сервер не установлен, команда вернет ошибку, что служба не найдена.
Если SSH не установлен, вы можете установить его с помощью команды:
sudo apt install openssh-server
4. Подключение по SSH
ssh user@192.168.1.100
Если используете нестандартный порт указать порт:
ssh -p 2222 user@192.168.1.100
5. Верификация аутентификации
После успешного подключения убедитесь, что вы подключены под правильным пользователем. Вы можете проверить это командой:
whoami
Это важно, особенно если у вас есть несколько учетных записей на сервере.
6. Диагностика в случае неудачи
Если подключение не удается, проверьте следующее:
Логи SSH на сервере:
sudo tail -f /var/log/auth.log
если логирование через journalctl использовать:
journalctl -u ssh | grep closed
проверка, что служба SSH работает:
sudo systemctl status ssh
7. Создание пользователя на удаленном сервере
sudo adduser имя_пользователя
Эта команда запросит ввод пароля для нового пользователя и другую информацию, которая может быть пропущена.
задать пароль юзеру sudo passwd имя_пользователя
при использовании useradd надо использовать флаги
sudo useradd -m -s /bin/bash new_user -m создаст директорию
если не использовать флаги, то надо создать домашнюю директорию самому
sudo mkdir /home/new_user
sudo chown new_user:new_user /home/new_user
sudo chmod 755 /home/new_user
8. Добавление пользователя в группу sudo
Чтобы дать новому пользователю права sudo, добавьте его в соответствующую группу:
sudo usermod -aG sudo имя_пользователя
Теперь пользователь сможет выполнять команды с правами суперпользователя, используя sudo.
9. Настройка SSH-доступа
ssh-keygen -t rsa -b 4096 -f ~/.ssh/my_work_server ключ с типом шифрования, сложностью и названием
Копирование SSH-ключа на сервер
Если SSH-ключ уже создан на локальной машине, скопируйте публичный ключ на сервер:
ssh-copy-id имя_пользователя@server_ip
Или вручную:
Подключитесь к серверу и создайте директорию .ssh для нового пользователя:
sudo mkdir -p /home/имя_пользователя/.ssh
sudo chmod 700 /home/имя_пользователя/.ssh
sudo chown имя_пользователя:имя_пользователя /home/имя_пользователя/.ssh
Эта команда изменяет владельца и группу директории .ssh на указанного пользователя. Это важно для безопасности, так как SSH требует, чтобы директория .ssh и её содержимое принадлежали только пользователю и не имели доступа со стороны других пользователей.
Скопируйте публичный ключ в файл authorized_keys:
sudo sh -c 'cat /path/to/public_key.pub >> /home/имя_пользователя/.ssh/authorized_keys' или в ручную
sudo chmod 600 /home/имя_пользователя/.ssh/authorized_keys
sudo chown имя_пользователя:имя_пользователя /home/имя_пользователя/.ssh/authorized_keys
10. Настройка безопасности SSH
Отключение аутентификации по паролю
Для усиления безопасности рекомендуется отключить аутентификацию по паролю:
Откройте файл конфигурации SSH:
sudo nano /etc/ssh/sshd_config
Найдите строку PasswordAuthentication и установите значение no:
PasswordAuthentication no
Перезапустите SSH-сервис:
sudo systemctl restart ssh
Для отключения доступа по паролю у root пользователя в конфигах
sudo nano /etc/ssh/sshd_config
надо прописать
PermitRootLogin prohibit-password
и перезапустить сервис ссш
Если помог - подписывайтесь на мой юмористический канал про веб-студию в телеграмме t.me/fuckupdevelopment