Доступ по SSH: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
м (вообще это вышла страничка про один из вариантов применения sshd для sftp, а не именно sshd_config и тем более ssh_config)
Строка 1: Строка 1:
С помощью '''SSH-сервера''' можно удаленно управлять сервером через консоль (ssh://-соединение) и передавать файлы (sftp-сервер).
С помощью '''[[SSH]]-сервера''' можно удаленно управлять сервером через консоль (<nowiki>ssh://-соединение</nowiki>) и передавать файлы (sftp-сервер).


На сервере переключаемся в режим суперпользователя:
На сервере переключаемся в режим суперпользователя:
  $su-
  $ su -
И правим следующий файл:
И правим следующий файл:
  #cd /etc/openssh
  # cd /etc/openssh
  #mcedit sshd_config
  # mcedit sshd_config
Перед этим делаем на всякий случай бэкап конфига.
Перед этим делаем на всякий случай бэкап конфига:
  #cd /etc/openssh
  # cd /etc/openssh
  #cp sshd_config sshd_config.bak
  # cp -a sshd_config sshd_config.bak
Потом если что удаляем измененный и восстанавливаем исходный.
Потом, если что, удаляем измененный и восстанавливаем исходный:
  #cd /etc/openssh
  # cd /etc/openssh
  #rm sshd config
  # rm sshd config
  #cp sshd_config.bak sshd_config
  # cp -a sshd_config.bak sshd_config
# service sshd reload


Добавляем:
В любом случае при изменениях этого файла стоит обязательно:
  Match User petr #имя вашего пользователя на сервере
# держать ''уже'' открытую рутовую сессию через достаточно надёжное соединение;
# перезапустить sshd;
# попытаться подключиться ещё одной рутовой сессией по ключу (либо пользовательской с поднятием привилегий, что несколько менее предпочтительно),
чтобы убедиться в том, что удалённый доступ к системе всё ещё функционирует.
 
Добавляем в конец файла(!)<ref>обратите внимание на описание ключевого слова Match в {{cmd|man sshd_config}}: после секции Match берутся строчки до следующей секции Match либо до конца файла</ref> конфигурацию, которая для заданного пользователя отключит интерактивный доступ и оставит только sftp до заданного каталога:
  Match User ''petr'' #имя вашего пользователя на сервере
  X11Forwarding no
  X11Forwarding no
  AllowTcpForwarding no
  AllowTcpForwarding no
Строка 23: Строка 30:


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


Создаем каталог:
Создаем каталог:
  #mkdir /home/files
  # mkdir /home/files
Этот же каталог прописываем в ChrootDirectory.
Этот же каталог прописываем в ChrootDirectory.


Даем себе полные права:
Даем себе полные права:
  #chown petr:petr /home/files
  # chown ''petr'':''petr'' /home/files
  #chmod -R u+rwx /home/files
  # chmod -R u+rwx /home/files
Подключаем его на ALT WS:
 
Подключаем его на [[Workstation]]:
*Открываем Caja
*Открываем Caja
*Файл-соединиться с сервером:
*Файл > Соединиться с сервером:
**IP
**IP
**Тип:SSH
**Тип: SSH
**Папка:/home/files
**Папка: /home/files
**Имя пользователя-пароль - учетка на сервере, которой мы дали права
**Имя пользователя: ''petr'' (учетка на сервере, которой мы дали права)
**Пароль: (соответствующий)
**Можно поставить галочку "Добавить закладку"
**Можно поставить галочку "Добавить закладку"
== Примечания ==
<references/>
{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}}

Версия от 22:48, 25 апреля 2021

С помощью 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 либо до конца файла