Включение SSH в Ubuntu Server
По умолчанию при первой установке Ubuntu удаленный доступ через SSH запрещен. Для включения SSH в Ubuntu необходимо произвести некоторые действия:
- Откройте терминал установите пакет openssh-server:
sudo apt update
sudo apt install openssh-server
При появлении заsuпроса введите пароль и нажмите Enter, чтобы продолжить установку.
- После завершения установки служба SSH запустится автоматически. Вы можете проверить, работает ли SSH, набрав:
sudo systemctl status ssh
В выводе должно быть указано, что служба запущена и включена при загрузке системы:
ssh.service — OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-02-16 11:12:00 CEST; 3h ago
…
Нажмите q, чтобы вернуться к приглашению командной строки.
- Ubuntu поставляется с утилитой настройки брандмауэра под названием UFW. Если в вашей системе включен брандмауэр, обязательно откройте порт SSH:
sudo ufw allow ssh
Настройка завершена. Теперь вы можете подключиться к вашей системе Ubuntu через SSH с любого удаленного компьютера. В системах Linux и macOS клиенты SSH установлены по умолчанию. Чтобы подключиться с компьютера под управлением Windows, используйте SSH-клиент, например PuTTY.
Подключение к SSH-серверу в Ubuntu
Чтобы подключиться к вашей машине с Ubuntu через локальную сеть, вызовите команду ssh, а затем имя пользователя и IP-адрес в следующем формате:
ssh username@ip_address
Поменяйте имя пользователя username и IP-адрес ip_address компьютера с Ubuntu, на котором вы установили SSH.
Если вы не знаете свой IP-адрес, вы можете легко найти его с помощью команд ip или ifconfig:
ip a
ifconfig
Найдя IP-адрес, войдите на удаленный компьютер, выполнив следующую команду ssh:
ssh oleg@192.168.1.37
Когда вы подключаетесь в первый раз, вы увидите следующее сообщение:
The authenticity of host ‘192.168.1.37(192.168.1.37)’ can’t be established.
ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.
Are you sure you want to continue connecting (yes/no)?
Введите yes и вам будет предложено ввести пароль.
Warning: Permanently added ‘192.168.1.37’ (ECDSA) to the list of known hosts.
oleg@192.168.1.37’s password:
После того, как вы введете пароль, вас встретит сообщение по умолчанию Ubuntu:
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
…
Вы вошли в систему на своей машине с Ubuntu.
Отключение SSH в Ubuntu
Чтобы отключить сервер SSH в вашей системе Ubuntu, остановите службу SSH, выполнив:
sudo systemctl disable —now ssh
Чтобы включить его, введите:
sudo systemctl enable —now ssh
Подключение к SSH-серверу в Windows
Включение OpenSSH в Windows 10
Нужно убедиться, что OpenSSH установлен на вашем компьютере, если вы обновили более раннюю версию Windows 10, вам может потребоваться включить ее вручную. Для этого:
- Откройте параметры «Параметры» > «Приложения«. Затем справа нажмите на ссылку «Дополнительные возможности».
- Если вы не видите «Клиент OpenSSH» в появившемся списке, нажмите кнопку «Добавить компонент» и установите его из списка.
Из командной строки
Подключения в командной строке наберите
ssh user@server -p 2023
используйте параметр -p если используете нестандартный порт ssh.
После ввода пароля получаем доступ к терминалу сервера:
Параметры командной строки SSH
Инструмент SSH имеет множество дополнительных параметров. Ниже перечислены общие параметры SSH и соответствующие описания.
-1 — указывает ssh использовать версию протокола 1
-2 — указывает ssh использовать протокол версии 2.
-4 — разрешает только адреса IPv4.
-6 — разрешает только адреса IPv6.
-A — включает переадресацию соединения агента аутентификации. Используйте эту опцию с осторожностью.
-a — Отключает переадресацию соединения агента аутентификации.
-b bind_address — используйте эту опцию на локальном хосте с более чем одним адресом, чтобы установить исходный адрес соединения.
-C — включает сжатие данных для всех файлов. Только для использования с медленными соединениями.
-c cipher_spec — используется для выбора спецификации шифра. Перечислите значения через запятую.
-E log_fileName — прикрепляет журналы отладки к log_file вместо стандартной ошибки.
-f — отправляет ssh в фоновый режим даже до ввода пароля или ключевой фразы.
-g — Разрешает удаленным хостам подключаться к портам, перенаправленным на локальном компьютере.
-q — запускает ssh в тихом режиме. Он подавляет большинство сообщений об ошибках и предупреждениях.
-V — отображает версию инструмента ssh и завершает работу.
-v — печатает отладочные сообщения для ssh-соединения. Подробный режим полезен при устранении неполадок конфигурации.
-X — Используйте этот параметр, чтобы включить пересылку X11.
-x — Отключить пересылку X11.
Putti
В настройках Session прописываем адрес и порт сервера, Connection type: SSH, сохраняем конфигурацию и жмем Open:
Настройка SSH
Настроим конфигурационный файл, для этого выполним команду:
sudo nano /etc/ssh/sshd_config
# — закомментированные поля. Описание всех полей можно найти здесь: https://help.ubuntu.ru/wiki/ssh.
Перед тем как вносить изменения в этот конфигурационный файл рекомендуется сделать его резервную копию, для этого можете использовать такую команду:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.copy
Рекомендуется настроить следующие параметры:
Port — по умолчанию идет 22, но для безопасности лучше поменять, я поставил 2223.
Protocol — протокол SSH. Указывает, какой протокол должен использовать sshd. Возможные значения ‘1’ и ‘2’ — ssh1 и ssh2 соответственно. Возможна одновременная запись, при которой значения следует разделять запятыми. По умолчанию — “2,1”
PermitRootLogin — если поля имеет значение no, то при подключении через SSH невозможно будет войти за root;
PubkeyAuthentication — разрешает/запрещает входить по публичному ключу;
AuthorizedKeysFile /etc/ssh/authorized_keys— показывает файлы с публичными ключами:Сервер должен знать, где ему следует искать публичный ключ пользователя. Для этого применяется специальный файл authorized_keys;
PasswordAuthentication — если поле имеет значение yes, то возможно будет войти с помощью пароля пользователя, иначе можно будет войти только по ключу(если PubkeyAuthentication yes)
DenyUsers, AllowUsers, DenyGroups, и AllowGroups — если у вас на сервере много пользователей, а доступ через ssh вы хотите разрешить только нескольким из них — вы можете использовать эти директивы;
После настройки необходимо перезагрузить ssh, для этого выполним команду:
sudo systemctl restart ssh
Если вы используете пользовательский SSH-порт (например, порт 2223), вам необходимо открыть этот порт на брандмауэре UFW, используя следующую команду.
sudo ufw allow 2223/tcp
Чтобы заблокировать все подключения SSH, введите следующую команду:
sudo ufw deny ssh/tcp
sudo ufw deny 2223/tcp [If using custom SSH port]
Устранение неполадок
В случае ошибок полезно бывает смотреть лог /var/log/secure либо использовать опции -v, -vv или -vvv для вывода детального лога соединения:
Ssh -v user@server
Источники
https://help.ubuntu.ru/wiki/ssh