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
неожиданно. Лайк
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