Linux ssh server установка

Установка SSH-сервера на Ubuntu 18.04 LTS

В основном, SSH реализован в виде двух приложений — SSH-сервера и SSH-клиента. В Ubuntu используется свободная реализация клиента и сервера SSH — OpenSSH. При подключении клиент проходит процедуру авторизации у сервера и между ними устанавливается зашифрованное соединение. OpenSSH сервер может работать как с протоколом ssh1, так и с протоколом ssh2. Протокол ssh1 считается небезопасным, поэтому его использование не рекомендуется.

$ sudo apt install openssh-server

При установке SSH-сервер автоматически прописывается в автозагрузку. Управлять его запуском, остановкой или перезапуском можно с помощью команд:

$ sudo systemctl start|stop|restart ssh

Разрешить или запретить запуск службы при загрузке системы:

$ sudo systemctl enable|disable ssh

Проверить, что служба ssh.service работает:

Для службы ssh.service есть алиас sshd.service , что может вызывать некоторые проблемы. Например, удалим службу sshd.service из автозагрузки, используя псевдоним:

$ sudo systemctl disable sshd Removed /etc/systemd/system/multi-user.target.wants/ssh.service. Removed /etc/systemd/system/sshd.service.

А после этого попробуем добавить обратно:

$ sudo systemctl enable sshd Failed to enable unit: Unit file sshd.service does not exist.

Но это легко исправить, обратившись по имени:

$ sudo systemctl enable ssh Synchronizing state of ssh.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable ssh Created symlink /etc/systemd/system/sshd.service → /lib/systemd/system/ssh.service.

Собственно, теперь уже можно подключаться по ssh:

При первом подключении будет выдано предупреждение, что подлинность хоста, к которому мы подключаемся, не может быть установлена:

The authenticity of host 'ubuntu-wordpress (192.168.110.12)' can't be established. ECDSA key fingerprint is SHA256:/HFkWvnH6OhtcZlcyz0EEHisiIP84WlpFy25uZ3B1UA. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'ubuntu-wordpress,192.168.110.12' (ECDSA) to the list of known hosts.

После нашего согласия все-таки подключиться ( yes ), ключ хоста будет добавлен в файл ~/.ssh/known_hosts . И при следующих подключениях этого предупреждения больше не будет.

Читайте также:  Install opera linux mint

Файл конфигурации

Все настройки сервера SSH хранятся в конфигурационном файле sshd_config , который находится в директории /etc/ssh/ . Перед тем, как вносить изменения, создадим резервную копию:

$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.default
$ sudo nano /etc/ssh/sshd_config

Во-первых, желательно сменить порт, на котором работает ssh-сервер:

Во-вторых, запретить вход от имени суперпользователя:

В-третьих, запретить вход всем, кроме доверенных пользователей:

AllowUsers evgeniy sergey

Настоятельно рекомендуется отключить аутентификацию по паролю (после настройки аутентификации по ключу):

PasswordAuthentication no

Если аутентификация по паролю все-таки нужна — запрещаем авторизацию с пустым паролем:

PasswordAuthentication yes PermitEmptyPasswords no

После всех настроек перезапускаем ssh-сервер (текущая сессия при этом не обрывается):

$ sudo systemctl restart ssh

Аутентификация по ключу

Наиболее предпочтительным способом авторизации является аутентификация на основе SSH2 RSA-ключей. При таком способе пользователь генерирует на своей стороне пару ключей, из которой один ключ является секретным, а другой публичным. Публичный ключ копируется на сервер и служит для проверки идентичности пользователя.

Создание ключей

Для генерации ключей на клиенте предназначена команда:

$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/Evgeniy/.ssh/id_rsa): ~/.ssh/rsa-vm-wp Enter passphrase (empty for no passphrase): Enter Enter same passphrase again: Enter Your identification has been saved in C:/Users/Evgeniy/.ssh/rsa-vm-wp. Your public key has been saved in C:/Users/Evgeniy/.ssh/rsa-vm-wp.pub. The key fingerprint is: SHA256:qreJu/Sto0HZ3e9cJBcyKJl0Fb/cOBL9l6ozwtbdPAI Evgeniy@TKMCOMP The key's randomart image is: +---[RSA 2048]----+ | . ..o. | | . + . o | | + . + + | | o . o = *.| | o . S . o B.+| | . . E =. | | o . . . +.+ | | . =oo + *.+ + | | *==+o ..= . .| +----[SHA256]-----+

Необходимо ввести имя файла ключа (в моем случае ~/.ssh/rsa-vm-wp ), пароль для доступа к ключу (можно оставить пустым, нажав Enter).

Ключи готовы, копируем публичный ключ на сервер:

$ ssh-copy-id -p 2222 -i ~/.ssh/rsa-vm-wp.pub evgeniy@192.168.110.12 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "rsa-vm-wp.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys evgeniy@192.168.110.12's password: пароль

Включаем на сервере аутентификацию по публичному ключу:

$ sudo nano /etc/ssh/sshd_config

И отключаем возможность аутентификации по паролю:

PasswordAuthentication no

Перезагружаем ssh-службу после изменения настроек и пробуем подключиться к серверу по ключу:

$ sudo systemctl restart ssh
$ ssh -p 2222 -i ~/.ssh/rsa-vm-wp evgeniy@192.168.110.12 Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 5.0.0-37-generic x86_64)

И последний момент — добавляем новую запись в файл ~/.ssh/config :

Host vm-wp User evgeniy HostName 192.168.110.12 Port 2222 IdentityFile ~/.ssh/rsa-vm-wp

Теперь к серверу можно подключаться так:

$ ssh vm-wp Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 5.0.0-37-generic x86_64)

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Читайте также:  Linux stale nfs file handle

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

  • 1С:Предприятие (31)
  • API (29)
  • Bash (43)
  • CLI (99)
  • CMS (139)
  • CSS (50)
  • Frontend (75)
  • HTML (66)
  • JavaScript (150)
  • Laravel (72)
  • Linux (146)
  • MySQL (76)
  • PHP (125)
  • React.js (66)
  • SSH (27)
  • Ubuntu (68)
  • Web-разработка (509)
  • WordPress (73)
  • Yii2 (69)
  • БазаДанных (95)
  • Битрикс (66)
  • Блог (29)
  • Верстка (43)
  • ИнтернетМагаз… (84)
  • КаталогТоваров (87)
  • Класс (30)
  • Клиент (27)
  • Ключ (28)
  • Команда (68)
  • Компонент (60)
  • Конфигурация (62)
  • Корзина (32)
  • ЛокальнаяСеть (28)
  • Модуль (34)
  • Навигация (31)
  • Настройка (140)
  • ПанельУправле… (29)
  • Плагин (33)
  • Пользователь (26)
  • Практика (99)
  • Сервер (74)
  • Событие (27)
  • Теория (105)
  • Установка (66)
  • Файл (47)
  • Форма (58)
  • Фреймворк (192)
  • Функция (36)
  • ШаблонСайта (68)

Источник

Оцените статью
Adblock
detector