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

Материал из ALT Linux Wiki
Нет описания правки
Метки: ручная отмена отменено
Нет описания правки
Метка: отменено
Строка 3: Строка 3:
В данной статье будут рассмотрены настройка доступа к терминалу (TODO: надо описать. В данный момент настройка терминального доступа не описана) и файлам через SSH.
В данной статье будут рассмотрены настройка доступа к терминалу (TODO: надо описать. В данный момент настройка терминального доступа не описана) и файлам через SSH.


==Предварительный бэкап==
На сервере переключаемся в режим суперпользователя:
На сервере переключаемся в режим суперпользователя:
  $ su -
  $ su -
Строка 23: Строка 24:
чтобы убедиться в том, что удалённый доступ к системе всё ещё функционирует.
чтобы убедиться в том, что удалённый доступ к системе всё ещё функционирует.


Добавляем в конец файла(!)<ref>обратите внимание на описание ключевого слова Match в {{cmd|man sshd_config}}: после секции Match берутся строчки до следующей секции Match либо до конца файла</ref> конфигурацию, которая для заданного пользователя отключит интерактивный доступ и оставит только sftp до заданного каталога:
==Доступ по SSH через сеть==
Match User ''petr'' #имя вашего пользователя на сервере
Редактируем следующие значения:
X11Forwarding no
AllowTcpForwarding no
PermitTTY no
ForceCommand internal-sftp
ChrootDirectory /home/files #корневой каталог при доступе через SSH


Port 22 //раскоментируем строчку
<...>
MaxSessions 10 //раскомментируем строчку
<...>
PubkeyAuthentication yes //раскомментируем строчку
PubkeyAcceptedKeyTypes ssh-ed25519-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa-cert-v01@openssh.com,ssh-rsa,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256 //раскомментируем строчку
<...>
PasswordAuthentication yes //раскомментируем строчку
PermitEmptyPasswords no //раскомментируем строчку
ChallengeResponseAuthentication yes //раскомментируем строчку
<...>
ClientAliveInterval 300  //раскомментируем строчку и меняем значение
ClientAliveCountMax 3  //раскомментируем строчку
<...>
Subsystem sftp /usr/lib/openssh/sftp-server //раскомментируем строчку
<...>
  Match User petr //тут пишем пользователя, под которым будем заходить
X11Forwarding yes //раскомментируем строчку
AllowTcpForwarding yes //раскомментируем строчку
PermitTTY no //раскомментируем строчку
Сохраняем файл и перезапускаем сервис:
# service sshd reload
===Обмен файлами===
===Обмен файлами===
Обмен файлами с сервером будет происходить по протоколу SSH.
Обмен файлами с сервером будет происходить по протоколу SSH.

Версия от 13:13, 25 июля 2022

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

В данной статье будут рассмотрены настройка доступа к терминалу (TODO: надо описать. В данный момент настройка терминального доступа не описана) и файлам через SSH.

Предварительный бэкап

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

$ su -

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

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

И правим конфиг файл:

# cd /etc/openssh
# mcedit sshd_config

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

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

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

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

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

Доступ по SSH через сеть

Редактируем следующие значения:

Port 22 //раскоментируем строчку
<...>
MaxSessions 10 //раскомментируем строчку
<...>
PubkeyAuthentication yes //раскомментируем строчку
PubkeyAcceptedKeyTypes ssh-ed25519-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa-cert-v01@openssh.com,ssh-rsa,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256 //раскомментируем строчку
<...>
PasswordAuthentication yes //раскомментируем строчку
PermitEmptyPasswords no //раскомментируем строчку
ChallengeResponseAuthentication yes //раскомментируем строчку
<...>
ClientAliveInterval 300  //раскомментируем строчку и меняем значение
ClientAliveCountMax 3  //раскомментируем строчку
<...>
Subsystem	sftp	/usr/lib/openssh/sftp-server //раскомментируем строчку
<...>
 Match User petr //тут пишем пользователя, под которым будем заходить

X11Forwarding yes //раскомментируем строчку AllowTcpForwarding yes //раскомментируем строчку PermitTTY no //раскомментируем строчку Сохраняем файл и перезапускаем сервис:

# service sshd reload

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

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

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

# mkdir /home/files

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

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

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

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

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

Примечания