Настройка, программирование, распределённые вычисления
Модераторы: Olej, bellic, vikos
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 28 сен 2021, 13:30
Это совсем мелочёвка - запустить SSH сервер ... но фокус в том что сервер SSH во многих (всех) дистрибутивах -
не устанавливается по дефаулту из пакетного репозитория и, естественно, не запущен:
Код: Выделить всё
olej@Latitude-E6510:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Linuxmint
Description: Linux Mint 20.2
Release: 20.2
Codename: uma
Код: Выделить всё
olej@Latitude-E6510:~$ ps -A | grep ssh
1072 ? 00:00:00 ssh-agent
olej@Latitude-E6510:~$ systemctl status sshd
Unit sshd.service could not be found.
И каждый раз при новой инсталляции это приходится вспоминать, когда SSH понадобится...
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 28 сен 2021, 13:40
Olej писал(а): ↑28 сен 2021, 13:30
И каждый раз при новой инсталляции это приходится вспоминать, когда SSH понадобится...
Чтоб долго не вспоминать каким
пакетом устанавливается SSH сервер, просто подсмотрю как это я установил на своём основном сервере:
Код: Выделить всё
olej@R420:~$ aptitude search ssh | grep ^i
i libssh-4 - tiny C SSH library (OpenSSL flavor)
i libssh-gcrypt-4 - tiny C SSH library (gcrypt flavor)
i A libssh2-1 - клиентская библиотека SSH2
i openssh-client - клиент протокола SSH, для защищённого удалённого доступа
i openssh-server - Сервер SSH для бесопасного доступа с удалённых компьютеров
i openssh-sftp-server - secure shell (SSH) sftp server module, for SFTP access from remote machines
i ssh - оболочка и сервер SSH (метапакет)
i A ssh-import-id - securely retrieve an SSH public key and install it locally
i A sshfs - клиент файловой системы, основанный на протоколе передачи файлов SSH
i sshpass - Non-interactive ssh password authentication
И, для сравнения, то что установлено в новой инсталляции:
Код: Выделить всё
olej@Latitude-E6510:~$ aptitude search ssh | grep ^i
i libssh-4 - tiny C SSH library (OpenSSL flavor)
i libssh-gcrypt-4 - tiny C SSH library (gcrypt flavor)
i A libssh2-1 - клиентская библиотека SSH2
i openssh-client - клиент протокола SSH, для защищённого удалённого доступа
i sshpass - Non-interactive ssh password authentication
P.S. В пакетной системе есть ещё один сервер SSH:
Код: Выделить всё
olej@Latitude-E6510:~$ aptitude search sshd
p tinysshd - Tiny SSH server - daemon
Но это, наверное, только для минимальных систем.
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 28 сен 2021, 13:49
Olej писал(а): ↑28 сен 2021, 13:40
И, для сравнения
Код: Выделить всё
olej@Latitude-E6510:~$ sudo apt install openssh-server openssh-sftp-server
[sudo] пароль для olej:
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
ncurses-term ssh-import-id
Предлагаемые пакеты:
molly-guard monkeysphere ssh-askpass
Следующие НОВЫЕ пакеты будут установлены:
ncurses-term openssh-server openssh-sftp-server ssh-import-id
Обновлено 0 пакетов, установлено 4 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 688 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 6.010 kB.
Хотите продолжить? [Д/н] y
Пол:1 http://ubuntu.volia.net/ubuntu-archive focal/main amd64 ncurses-term all 6.2-0ubuntu2 [249 kB]
Пол:2 http://ubuntu.volia.net/ubuntu-archive focal-updates/main amd64 openssh-sftp-server amd64 1:8.2p1-4ubuntu0.3 [51,5 kB]
Пол:3 http://ubuntu.volia.net/ubuntu-archive focal-updates/main amd64 openssh-server amd64 1:8.2p1-4ubuntu0.3 [377 kB]
Пол:4 http://ubuntu.volia.net/ubuntu-archive focal/main amd64 ssh-import-id all 5.10-0ubuntu1 [10,0 kB]
Получено 688 kB за 1с (1.371 kB/s)
Предварительная настройка пакетов …
Выбор ранее не выбранного пакета ncurses-term.
(Чтение базы данных … на данный момент установлено 362142 файла и каталога.)
Подготовка к распаковке …/ncurses-term_6.2-0ubuntu2_all.deb …
Распаковывается ncurses-term (6.2-0ubuntu2) …
Выбор ранее не выбранного пакета openssh-sftp-server.
Подготовка к распаковке …/openssh-sftp-server_1%3a8.2p1-4ubuntu0.3_amd64.deb …
Распаковывается openssh-sftp-server (1:8.2p1-4ubuntu0.3) …
Выбор ранее не выбранного пакета openssh-server.
Подготовка к распаковке …/openssh-server_1%3a8.2p1-4ubuntu0.3_amd64.deb …
Распаковывается openssh-server (1:8.2p1-4ubuntu0.3) …
Выбор ранее не выбранного пакета ssh-import-id.
Подготовка к распаковке …/ssh-import-id_5.10-0ubuntu1_all.deb …
Распаковывается ssh-import-id (5.10-0ubuntu1) …
Настраивается пакет openssh-sftp-server (1:8.2p1-4ubuntu0.3) …
Настраивается пакет openssh-server (1:8.2p1-4ubuntu0.3) …
Creating config file /etc/ssh/sshd_config with new version
Creating SSH2 RSA key; this may take some time ...
3072 SHA256:fIRwbI+VTiEHxnZNRtwcueD7BfZLoGlVQ6xHsWpYcxk root@Latitude-E6510 (RSA)
Creating SSH2 ECDSA key; this may take some time ...
256 SHA256:FWggTRr4JsfpEbeeA9XoTO257qyuxAwbsE/wA90Fzqk root@Latitude-E6510 (ECDSA)
Creating SSH2 ED25519 key; this maolej@Latitude-E6510:~$ ps -A | grep ssh
1072 ? 00:00:00 ssh-agent
4782 pts/1 00:00:00 sshpass
4783 pts/2 00:00:00 ssh
4785 ? 00:00:00 ssh-agent
6781 ? 00:00:00 sshd
olej@Latitude-E6510:~$ systemctl statis sshd
Unknown operation statis.
olej@Latitude-E6510:~$ systemctl status sshd
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-09-28 13:46:12 EEST; 2min 2s ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 6781 (sshd)
Tasks: 1 (limit: 9426)
Memory: 1.2M
CGroup: /system.slice/ssh.service
└─6781 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
сен 28 13:46:11 Latitude-E6510 systemd[1]: Starting OpenBSD Secure Shell server...
сен 28 13:46:12 Latitude-E6510 sshd[6781]: Server listening on 0.0.0.0 port 22.
сен 28 13:46:12 Latitude-E6510 sshd[6781]: Server listening on :: port 22.
сен 28 13:46:12 Latitude-E6510 systemd[1]: Started OpenBSD Secure Shell server.
y take some time ...
256 SHA256:v5C8T1PTDtlhCmuBWDFFtHLFpYHG1HJaFiEyhHZfhaE root@Latitude-E6510 (ED25519)
Created symlink /etc/systemd/system/sshd.service → /lib/systemd/system/ssh.service.
Created symlink /etc/systemd/system/multi-user.target.wants/ssh.service → /lib/systemd/system/ssh.service.
rescue-ssh.target is a disabled or a static unit, not starting it.
Настраивается пакет ssh-import-id (5.10-0ubuntu1) …
Attempting to convert /etc/ssh/ssh_import_id
Настраивается пакет ncurses-term (6.2-0ubuntu2) …
Обрабатываются триггеры для systemd (245.4-4ubuntu3.13) …
Обрабатываются триггеры для man-db (2.9.1-1) …
Обрабатываются триггеры для ufw (0.36-6) …
Сервер сразу после инсталляции запущен:
Код: Выделить всё
olej@Latitude-E6510:~$ ps -A | grep ssh
1072 ? 00:00:00 ssh-agent
4782 pts/1 00:00:00 sshpass
4783 pts/2 00:00:00 ssh
4785 ? 00:00:00 ssh-agent
6781 ? 00:00:00 sshd
Код: Выделить всё
olej@Latitude-E6510:~$ systemctl status sshd
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-09-28 13:46:12 EEST; 2min 2s ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 6781 (sshd)
Tasks: 1 (limit: 9426)
Memory: 1.2M
CGroup: /system.slice/ssh.service
└─6781 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
сен 28 13:46:11 Latitude-E6510 systemd[1]: Starting OpenBSD Secure Shell server...
сен 28 13:46:12 Latitude-E6510 sshd[6781]: Server listening on 0.0.0.0 port 22.
сен 28 13:46:12 Latitude-E6510 sshd[6781]: Server listening on :: port 22.
сен 28 13:46:12 Latitude-E6510 systemd[1]: Started OpenBSD Secure Shell server.
И установлена автозапуск сервера при загрузке системы:
Код: Выделить всё
olej@Latitude-E6510:~$ systemctl is-enabled sshd
enabled
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 28 сен 2021, 15:25
Olej писал(а): ↑28 сен 2021, 13:30
сервер SSH во многих (всех) дистрибутивах - не устанавливается по дефаулту из пакетного репозитория
Посмотрел что там в Fedora (возможно что это ставилось по дефаулту):
Код: Выделить всё
[olga@hp ~]$ lsb_release -a
LSB Version: :core-4.1-ia32:core-4.1-noarch
Distributor ID: Fedora
Description: Fedora release 24 (Twenty Four)
Release: 24
Codename: TwentyFour
Код: Выделить всё
[olga@hp ~]$ ps -A | grep ssh
802 ? 00:00:00 sshd
2836 ? 00:00:00 ssh-agent
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 20 сен 2022, 13:14
Olej писал(а): ↑28 сен 2021, 13:30
фокус в том что сервер SSH во многих (всех) дистрибутивах - не устанавливается по дефаулту из пакетного репозитория
Но в дистрибутивах с инициализацией через systemd (а таких на сегодня большинство) сервер SSH
готов к запуску средствами
сокетной активации systemd (вот по поводу "готов" я не совсем уверен - это по дефаултной установке, или после моей установки, ранее, openssh-server ... у меня нет чистой инсталляции, но я постараюсь вскорости как-то проверить - для себя я считаю этот факт очень важным).
Я уже запускал не раз сервер SSH сокетной активацией, но делал это вручную ...
xinetd + systemd
Заметки о systemd, часть 6, xinetd
А сейчас время проверить как это установлено в системе с дефаултными конфигурациями...
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 20 сен 2022, 13:22
Olej писал(а): ↑20 сен 2022, 13:14
А сейчас время проверить как это установлено в системе с дефаултными конфигурациями...
Код: Выделить всё
olej@compaq:/etc$ lsb_release -a
No LSB modules are available.
Distributor ID: Linuxmint
Description: LMDE 5 (elsie)
Release: 5
Codename: elsie
Проверяю варианты запущенных серверов SSH, и, при наличии,
останавливаю для чистоты эксперимента:
Код: Выделить всё
olej@compaq:/usr/lib/systemd/system$ ps -A | grep inetd
olej@compaq:/usr/lib/systemd/system$
Код: Выделить всё
olej@compaq:/usr/lib/systemd/system$ ps -A | grep xinetd
olej@compaq:/usr/lib/systemd/system$
Код: Выделить всё
olej@compaq:/usr/lib/systemd/system$ service sshd status
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2022-09-20 12:42:29 EEST; 15min ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 570 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 608 (sshd)
Tasks: 1 (limit: 6900)
Memory: 3.3M
CPU: 64ms
CGroup: /system.slice/ssh.service
└─608 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
сен 20 12:42:29 compaq systemd[1]: Starting OpenBSD Secure Shell server...
сен 20 12:42:29 compaq sshd[608]: Server listening on 0.0.0.0 port 22.
сен 20 12:42:29 compaq sshd[608]: Server listening on :: port 22.
сен 20 12:42:29 compaq systemd[1]: Started OpenBSD Secure Shell server.
Код: Выделить всё
olej@compaq:/usr/lib/systemd/system$ sudo service sshd stop
Код: Выделить всё
olej@compaq:/usr/lib/systemd/system$ service sshd status
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Tue 2022-09-20 12:59:44 EEST; 3s ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 570 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Process: 608 ExecStart=/usr/sbin/sshd -D $SSHD_OPTS (code=exited, status=0/SUCCESS)
Main PID: 608 (code=exited, status=0/SUCCESS)
CPU: 65ms
сен 20 12:42:29 compaq systemd[1]: Starting OpenBSD Secure Shell server...
сен 20 12:42:29 compaq sshd[608]: Server listening on 0.0.0.0 port 22.
сен 20 12:42:29 compaq sshd[608]: Server listening on :: port 22.
сен 20 12:42:29 compaq systemd[1]: Started OpenBSD Secure Shell server.
сен 20 12:59:44 compaq sshd[608]: Received signal 15; terminating.
сен 20 12:59:44 compaq systemd[1]: Stopping OpenBSD Secure Shell server...
сен 20 12:59:44 compaq systemd[1]: ssh.service: Succeeded.
сен 20 12:59:44 compaq systemd[1]: Stopped OpenBSD Secure Shell server.
Код: Выделить всё
olej@compaq:/usr/lib/systemd/system$ ps -A | grep ssh
1023 ? 00:00:00 ssh-agent
Всё остановлено. Теперь можно запустить то же, но через сокетную активацию.
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 20 сен 2022, 13:27
Olej писал(а): ↑20 сен 2022, 13:22
Теперь можно запустить то же, но через сокетную активацию.
В системе довольно много сервисов с сокетной активацией:
Код: Выделить всё
olej@compaq:/usr/lib/systemd/system$ ls -l *.socket
-rw-r--r-- 1 root root 115 авг 19 2019 acpid.socket
-rw-r--r-- 1 root root 870 авг 8 12:27 avahi-daemon.socket
-rw-r--r-- 1 root root 132 мая 23 23:03 cups.socket
-rw-r--r-- 1 root root 102 фев 21 2021 dbus.socket
-rw-r--r-- 1 root root 248 фев 22 2021 dm-event.socket
-rw-r--r-- 1 root root 239 фев 22 2021 lvm2-lvmpolld.socket
-rw-r--r-- 1 root root 133 авг 15 2018 saned.socket
-rw-r--r-- 1 root root 216 июл 2 01:37 ssh.socket
-rw-r--r-- 1 root root 1415 фев 2 2021 syslog.socket
-rw-r--r-- 1 root root 545 фев 2 2021 systemd-coredump.socket
-rw-r--r-- 1 root root 540 авг 7 16:25 systemd-fsckd.socket
-rw-r--r-- 1 root root 554 фев 2 2021 systemd-initctl.socket
-rw-r--r-- 1 root root 655 фев 2 2021 systemd-journald-audit.socket
-rw-r--r-- 1 root root 1154 фев 2 2021 systemd-journald-dev-log.socket
-rw-r--r-- 1 root root 906 фев 2 2021 systemd-journald.socket
-rw-r--r-- 1 root root 746 фев 2 2021 systemd-journald@.socket
-rw-r--r-- 1 root root 605 фев 2 2021 systemd-journald-varlink@.socket
-rw-r--r-- 1 root root 640 фев 2 2021 systemd-networkd.socket
-rw-r--r-- 1 root root 734 фев 2 2021 systemd-rfkill.socket
-rw-r--r-- 1 root root 643 фев 2 2021 systemd-udevd-control.socket
-rw-r--r-- 1 root root 618 фев 2 2021 systemd-udevd-kernel.socket
-rw-r--r-- 1 root root 126 янв 20 2022 uuidd.socket
Для SSH вот
дефаултная конфигурация (я не создавал и ничего не правил в этом файле):
Код: Выделить всё
olej@compaq:/usr/lib/systemd/system$ cat ssh.socket
[Unit]
Description=OpenBSD Secure Shell server socket
Before=ssh.service
Conflicts=ssh.service
ConditionPathExists=!/etc/ssh/sshd_not_to_be_run
[Socket]
ListenStream=22
Accept=yes
[Install]
WantedBy=sockets.target
И вот его запуск:
Код: Выделить всё
olej@compaq:/usr/lib/systemd/system$ sudo service ssh.socket start
Failed to start ssh.socket.service: Unit ssh.socket.service not found.
Это любопытно:
старая команда управления сервисами (вообще то работающая с сервисами и sustemd)
не умеет (тупо не понимает) работать с сокетными сервисами!
Код: Выделить всё
olej@compaq:/usr/lib/systemd/system$ sudo systemctl start ssh.socket
Код: Выделить всё
olej@compaq:/usr/lib/systemd/system$ sudo systemctl status ssh.socket
● ssh.socket - OpenBSD Secure Shell server socket
Loaded: loaded (/lib/systemd/system/ssh.socket; disabled; vendor preset: enabled)
Active: active (listening) since Tue 2022-09-20 13:02:33 EEST; 7s ago
Listen: [::]:22 (Stream)
Accepted: 0; Connected: 0;
Tasks: 0 (limit: 6900)
Memory: 4.0K
CPU: 1ms
CGroup: /system.slice/ssh.socket
сен 20 13:02:33 compaq systemd[1]: Listening on OpenBSD Secure Shell server socket.
Код: Выделить всё
olej@compaq:/usr/lib/systemd/system$ systemctl --full | grep ssh
ssh@1-::1:22-::1:36792.service loaded active running OpenBSD Secure Shell server per-connection daemon ([::1]:36792)
system-ssh.slice loaded active active system-ssh.slice
ssh.socket loaded active listening OpenBSD Secure Shell server socket
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 20 сен 2022, 13:33
Olej писал(а): ↑20 сен 2022, 13:27
И вот его запуск:
Поехали...
Проверяю что никакого sshd нет в системе работающего:
Код: Выделить всё
olej@compaq:/usr/lib/systemd/system$ ps -A | grep ssh
1023 ? 00:00:00 ssh-agent
3252 ? 00:00:00 ssh-agent
Локально...
Код: Выделить всё
olej@compaq:~$ ssh olej@localhost
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is SHA256:Kri7CYmZQXtrFkjmPpE3VQfnuaYaUG6HcTnFHCNGdXg.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
olej@localhost's password:
Linux compaq 5.10.0-18-amd64 #1 SMP Debian 5.10.140-1 (2022-09-02) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Sep 15 18:50:59 2022 from 192.168.1.14
Код: Выделить всё
olej@compaq:~$ who
olej tty7 2022-09-20 12:42 (:0)
olej pts/5 2022-09-20 13:03 (::1)
Всё совсем по-другому:
Код: Выделить всё
olej@compaq:/usr/lib/systemd/system$ ps -A | grep ssh
1023 ? 00:00:00 ssh-agent
3252 ? 00:00:00 ssh-agent
3447 pts/4 00:00:00 ssh
3449 ? 00:00:00 sshd
3457 ? 00:00:00 sshd
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 20 сен 2022, 13:43
Olej писал(а): ↑20 сен 2022, 13:33
Всё совсем по-другому:
Ну и окончательно ... "вишенка на торте" - чтобы этот сокетный сервис подымалсь при перезагрузке:
Код: Выделить всё
olej@compaq:/usr/lib/systemd/system$ sudo systemctl is-enabled ssh.socket
disabled
Код: Выделить всё
olej@compaq:/usr/lib/systemd/system$ sudo systemctl enable ssh.socket
Created symlink /etc/systemd/system/sockets.target.wants/ssh.socket → /lib/systemd/system/ssh.socket.
Код: Выделить всё
olej@compaq:/usr/lib/systemd/system$ sudo systemctl is-enabled ssh.socket
enabled
Olej
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей