Доступ по SSH: различия между версиями
Нет описания правки |
(Отмена правки 64952, сделанной 78.37.82.13 (обсуждение)) Метка: отмена |
||
(не показано 19 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
С помощью '''SSH-сервера''' можно удаленно управлять сервером через консоль (ssh://-соединение) и передавать файлы (sftp-сервер). | {{Note|Обратите внимение, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам. Официальная и более подробная [[SSH|'''документация здесь''']].}} | ||
{{note|Проверено на Starterkit P10 Mate (весенний) 25.07.2022}} | |||
С помощью '''[[SSH]]-сервера''' можно удаленно управлять сервером через консоль (<nowiki>ssh://-соединение</nowiki>) и передавать файлы (sftp-сервер). | |||
В данной статье будут рассмотрены настройка доступа к терминалу (TODO: надо описать. В данный момент настройка терминального доступа не описана) и файлам через SSH. | |||
==Предварительный бэкап== | |||
На сервере переключаемся в режим суперпользователя: | На сервере переключаемся в режим суперпользователя: | ||
$su- | $ su - | ||
Делаем на всякий случай бэкап конфига: | |||
#cd /etc/openssh | # cd /etc/openssh | ||
# | # cp -a sshd_config sshd_config.bak | ||
И правим конфиг файл: | |||
#cd /etc/openssh | # cd /etc/openssh | ||
# | # mcedit sshd_config | ||
Потом если что удаляем измененный и восстанавливаем исходный | Потом, если что-то пошло не так, удаляем измененный и восстанавливаем исходный: | ||
#cd /etc/openssh | # cd /etc/openssh | ||
#rm | # rm sshd_config | ||
#cp sshd_config.bak sshd_config | # cp -a sshd_config.bak sshd_config | ||
# service sshd reload | |||
В любом случае при изменениях этого файла стоит обязательно: | |||
# держать ''уже'' открытую рутовую сессию через достаточно надёжное соединение; | |||
# перезапустить sshd; | |||
# попытаться подключиться ещё одной рутовой сессией по ключу (либо пользовательской с поднятием привилегий, что несколько менее предпочтительно), | |||
чтобы убедиться в том, что удалённый доступ к системе всё ещё функционирует. | |||
==Доступ по 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 yes //раскомментируем строчку | |||
Сохраняем файл и перезапускаем сервис: | |||
# service sshd reload | |||
Подключение: | |||
Вводим в консоли '''ssh user@ip''': | |||
$ ssh petr@10.0.2.6 | |||
Система запросит разрешение на принятие SSH-ключа и ввод пароля. После этого у Вас будет консоль подключенного сервера. | |||
===Обмен файлами=== | ===Обмен файлами=== | ||
Обмен файлами с сервером будет по SSH. | Обмен файлами с сервером будет происходить по протоколу SSH. | ||
Создаем каталог: | Создаем каталог: | ||
#mkdir /home/files | # mkdir /home/files | ||
Этот же каталог прописываем в ChrootDirectory. | Этот же каталог прописываем в ChrootDirectory. | ||
ChrootDirectory /home/files | |||
Даем себе полные права: | Даем себе полные права: | ||
#chown petr:petr /home/files | # chown ''petr'':''petr'' /home/files | ||
#chmod -R u+rwx /home/files | # chmod -R u+rwx /home/files | ||
Подключаем его на | |||
Подключаем его на [[Workstation]]: | |||
*Открываем Caja | *Открываем Caja | ||
*Файл | *Файл > Соединиться с сервером: | ||
**IP | **IP | ||
**Тип:SSH | **Тип: SSH | ||
**Папка:/home/files | **Папка: /home/files | ||
**Имя пользователя | **Имя пользователя: ''petr'' (учетка на сервере, которой мы дали права) | ||
**Пароль: (соответствующий) | |||
**Можно поставить галочку "Добавить закладку" | **Можно поставить галочку "Добавить закладку" | ||
{{Category navigation|title=Начинающему | |||
== Примечания == | |||
<references/> | |||
{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 17:30, 15 января 2023
С помощью 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
В любом случае при изменениях этого файла стоит обязательно:
- держать уже открытую рутовую сессию через достаточно надёжное соединение;
- перезапустить sshd;
- попытаться подключиться ещё одной рутовой сессией по ключу (либо пользовательской с поднятием привилегий, что несколько менее предпочтительно),
чтобы убедиться в том, что удалённый доступ к системе всё ещё функционирует.
Доступ по 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 yes //раскомментируем строчку
Сохраняем файл и перезапускаем сервис:
# service sshd reload
Подключение:
Вводим в консоли ssh user@ip:
$ ssh petr@10.0.2.6
Система запросит разрешение на принятие SSH-ключа и ввод пароля. После этого у Вас будет консоль подключенного сервера.
Обмен файлами
Обмен файлами с сервером будет происходить по протоколу SSH.
Создаем каталог:
# mkdir /home/files
Этот же каталог прописываем в ChrootDirectory.
ChrootDirectory /home/files
Даем себе полные права:
# chown petr:petr /home/files # chmod -R u+rwx /home/files
Подключаем его на Workstation:
- Открываем Caja
- Файл > Соединиться с сервером:
- IP
- Тип: SSH
- Папка: /home/files
- Имя пользователя: petr (учетка на сервере, которой мы дали права)
- Пароль: (соответствующий)
- Можно поставить галочку "Добавить закладку"
Примечания