Доступ по SSH

Материал из ALT Linux Wiki

С помощью SSH-сервера можно удаленно управлять сервером через консоль (ssh://-соединение) и передавать файлы (sftp-сервер).

На сервере переключаемся в режим суперпользователя:

$ su -

И правим следующий файл:

# cd /etc/openssh
# mcedit sshd_config

Перед этим делаем на всякий случай бэкап конфига:

# cd /etc/openssh
# cp -a sshd_config sshd_config.bak

Потом, если что, удаляем измененный и восстанавливаем исходный:

# cd /etc/openssh
# rm sshd config
# cp -a sshd_config.bak sshd_config
# service sshd reload

В любом случае при изменениях этого файла стоит обязательно:

  1. держать уже открытую рутовую сессию через достаточно надёжное соединение;
  2. перезапустить sshd;
  3. попытаться подключиться ещё одной рутовой сессией по ключу (либо пользовательской с поднятием привилегий, что несколько менее предпочтительно),

чтобы убедиться в том, что удалённый доступ к системе всё ещё функционирует.

Добавляем в конец файла(!)[1] конфигурацию, которая для заданного пользователя отключит интерактивный доступ и оставит только sftp до заданного каталога:

Match User petr #имя вашего пользователя на сервере
X11Forwarding no
AllowTcpForwarding no
PermitTTY no
ForceCommand internal-sftp
ChrootDirectory /home/files #корневой каталог при доступе через SSH

Обмен файлами

Обмен файлами с сервером будет происходить по протоколу SSH.

Создаем каталог:

# mkdir /home/files

Этот же каталог прописываем в ChrootDirectory.

Даем себе полные права:

# chown petr:petr /home/files
# chmod -R u+rwx /home/files

Подключаем его на Workstation:

  • Открываем Caja
  • Файл > Соединиться с сервером:
    • IP
    • Тип: SSH
    • Папка: /home/files
    • Имя пользователя: petr (учетка на сервере, которой мы дали права)
    • Пароль: (соответствующий)
    • Можно поставить галочку "Добавить закладку"

Примечания

  1. обратите внимание на описание ключевого слова Match в man sshd_config: после секции Match берутся строчки до следующей секции Match либо до конца файла